-
Content Count
882 -
Joined
-
Last visited
-
Days Won
7
Everything posted by Stano
-
I kind of don't understand your problem. What are you actually pursuing? If you have only one record then the active buttons in the Navigator will be Insert/New, Edit and Delete. This is to say that you can't rely on the cursor buttons. It is better to work with the attached DataSet. Either it has an active/selected record or it doesn't. If you have something else in mind, then describe it more precisely.
-
Ignore this.
-
CnPack has a function to remove unused units. to check it is laborious it is not what you require But a miracle can happen
-
HI, when I tried TFrame more than 20 years ago, I had problems. I was immediately recommended to use SubForm. At that time TFrame was very unreliable. The question is: has that changed? Is TFrame problem free?
-
This is interesting information regarding Frame. It's probably worth the effort to study it.
-
Yes. I asked the question mainly out of curiosity. Thank you for all the answers I create a form and set its Parent to some component on the "base" form. I don't have any problems with this.
-
paint dellphi 7 - capturar assinatura do usuario
Stano replied to Felipe silva's topic in Delphi IDE and APIs
Please translate this into English. It's an English forum. -
Setting it while running doesn't help?
-
Or Continue.
-
I will note that most programmers completely reject the "with" construct.
-
You have two options: Test if the list is empty. If so, put the original list Create an auxiliary list. Work with it. If it is not empty, put it in listBox1
-
In my opinion, the question belongs to TMS https://support.tmssoftware.com/categories
-
I wrote that you should hide the procedure as much as possible. And you put it on display for the world to see You're supposed to proceed from the top down strict private FSeasonSelect: TSeasonSelect; private strict protected protected public property SeasonSelect: TSeasonSelect read FSeasonSelect write FSeasonSelect;
-
I'm glad. Now that procedure needs to be placed in the right place within the form. The challenge is to hide it as much as possible from the environment.
-
If it works for you, then the next step is. Change the procedure line TForm1.btnClick(Sender: TObject); to ImageClick(Sender: TObject); Destroy the button on the form. Good luck to you.
-
Maybe this will help you: procedure TForm1.btnClick(Sender: TObject); begin // if not (Sender is not TImage) then Exit; or if Sender is TImage then begin var Im := TImage(Sender); case Im.tag of 1: begin end; 2: beep; // we clicked on IM_2, so produce a audible tone 3: begin end; end; end; end;
-
TVirtualImageList has only three events OnChange OnDraw OnGetBitmap Unfortunately, neither is suitable for your needs. I don't know if Helper can be applied. Let the knowledgeable comment.
-
Point 3. - one option is to use multiple images and display them according to the event
-
I'm avoiding the Continue command. I use it exceptionally. en when I need to skip/skip something. At least that's how I understand it. So I usually have it in some if..then..else... branch. In the above example it has no meaning. I suppose this is just a symbolic demonstration.
-
https://docwiki.embarcadero.com/RADStudio/Athens/en/Continue
-
Programmers have a strange way of thinking that I don't understand. Because I'm not a pro-programmer. That's the case here. I'm dealing with something similar. It is about setting values and appearance of individual components on a form. I'm using JSON to do this. That's a significant difference, because you're using IniFile. The principle is simple. The title consists of the names: Owner (form) + Parent + Component The result is e.g.: "frmsubMatchesByRoundfdnvDraw": { "jstpnlTeamVst": { "jstvstTeam": { "VTSearchDirection": 0, "Width": [ 120,165,100,84,167], "Position": [ 0,1,2,3,4], "SortColumn": -1, "VTSearchStart": 2, "ShowSortGlyphs": false, "FirstSetFocus": false, "VTSortDirection": 0 } }, ... }, To do this, functions of the type Read..., Write... function TAppearance.DoCareNoEdit(const ACont: TControl): Boolean; begin Result := True; if (ACont is TAdvOfficeRadioButton) then CareAdvOfficeRadioButton(TAdvOfficeRadioButton(ACont)) else if (ACont is TjstVirtualStringTree) then CarejstVirtualStringTree(TjstVirtualStringTree(ACont)) ... procedure TAppearance.CarejstVirtualStringTree(const AComp: TjstVirtualStringTree); begin AComp.ParentDoubleBuffered := True; FjstVst := AComp; FJsonItemName := oGlobVar.ActualForm.Name +'.'+ FjstVst.Parent.Name +'.'+ FjstVst.Name +'.'; CreateVstPopupMenu; SetVstProperties; end; Hopefully this will help in some way. If I haven't hit the topic at all, then ignore it
-
FDTable: EFDException with message '[FireDAC][Stan][Eval]-117. Empty expression'
Stano posted a topic in Databases
Suddenly, everywhere I have FDTAble at MyTable.Open throws me the given error. No change in the code. I have D professional, so I don't have the source. At design time the table can be activated. The only thing I have done is an update: EurekaLog to EurekaLog_7.12.0.4_Professional_for_RAD_Studio - hotfix CnPack 31.12.2023 -
FDTable: EFDException with message '[FireDAC][Stan][Eval]-117. Empty expression'
Stano replied to Stano's topic in Databases
I will add this to my solution! -
FDTable: EFDException with message '[FireDAC][Stan][Eval]-117. Empty expression'
Stano replied to Stano's topic in Databases
The error is in this code: // MyTable.Filter is empty MyTable.Filtered := True; MyTable.Open; From another discussion: Probably during the upgrade they decided that enabling the filter without a defined filter expression is nonsense. And it is. I fully agree with that. I have already figured it out. I found no mention of such behaviour. The problem was that I didn't know what the Empty exptession referred to!