limelect
Members-
Content Count
819 -
Joined
-
Last visited
-
Days Won
1
Everything posted by limelect
-
Pining Expert program does not reopen on close program
limelect replied to limelect's topic in Delphi IDE and APIs
@Daniel Thanks -
Pining Expert program does not reopen on close program
limelect replied to limelect's topic in Delphi IDE and APIs
One more thing. I tried Gexpert demo project docking form example It has the same problem Is it an IDE problem or am I missing something? -
Pining Expert program does not reopen on close program
limelect replied to limelect's topic in Delphi IDE and APIs
@Daniel I hope this is better This is an IDE expert problem -
I do not know if it will help But Rxlib has has RxDateUtil.pas check it
-
Best way to prevent multiple instances? Mutex not working
limelect replied to bilbo221's topic in VCL
IsFirstInstance in OgFirst in tponguard librery for free does what you need. the above is old. The new onguard dose it differently but you can find here too Look for first instance https://documentation.help/TurboPack-OnGuard-FMX/documentation.pdf Put this function in the DPR -
Further to my small project and on D10.2.3 I am NOT using tool Pallet I am using ToolBar>Component as on d7. I want to detect the tabs and open one of them I am using also Winspector. FDelphiForm :=Application.MainForm; x:=TComponent(FDelphiForm.FindComponent('ComponentToolbarFrame')); x:=TComponent(x.FindComponent('TabControl'));<<< hear i tried also TTabControl instead of TComponent x IS NOT NIL. TTabControl(x).TabIndex:=3; <<<<< dose not work label1.caption:= TTabControl(x).Tabs[0] ; <<< Access violation Label2.Caption:=TComponent(x).name; ===TabControl Any thing with tabs give an error. I have tried many variations. As far as I recall @dummzeuch comented that multiline is not possible above D7 I tried it does not work. Maybe it is not possible to access the ToolBar ?
-
Found one drawback sx := TStringList(GetObjectProp(x, PropInfo)); // all the tabs this instruction cannot be made ONShow only On form create. It makes on second-time error. It has to execute only once. Which mean installing a new component will not update unless I restart Delphi.
-
Ok my software is OK Now for Embarcadero to give some Answers. I have 2 components bar. 1. D7 like. 2. Tool pallet. They differ in what the show position wise!!!!! For example, the Tool bar does not have BDE or ActivX in the same position !!!! What is going on?
-
@dummzeuch without your lead I could not have done it I was thrown away by thinking that it was TabControl Thanks Checking that it works got the list of my tabs sx=tstringlist PropInfo:= GetPropInfo(x.ClassInfo, 'Items'); sx:= TStringList(GetObjectProp(x,PropInfo)); Label2.Caption:=inttostr(Sx.Count); Memo1.Clear; for I := 0 to Sx.Count-1 do Memo1.Lines.Add(sx) ; Great why cannot write bracket i bracket ???????????
-
http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/TypInfo.html Investigating
-
As of my last request reading an item like integer is no problem like PropInfo:= GetPropInfo(x.ClassInfo, 'LastShownIndex'); i:= GetOrdProp( x,PropInfo); Label2.Caption:=inttostr(i); But items=stringlist how?
-
@dummzeuch With the help of this link and IDE explorer IIIIII DDDDIDDDD IT. From here I got https://stackoverflow.com/questions/2071247/dynamically-access-a-property-in-a-delphi-component/2071398 var PropInfo: PPropInfo; x:=TComponent(x.FindComponent('TabControl')); PropInfo:= GetPropInfo(x.ClassInfo, 'TabIndex').; SetOrdProp(x, PropInfo, 3); it press tab 4. Thanks every body and see you on my next NOT EASY problem. P.S may some know how to get a list of items from PropInfo:= GetPropInfo(x.ClassInfo, 'Items') into StrinList?
-
The joke is on me. They did not implement it only the d7. Back to the search
-
I will look further with your advice that it is TGradientTabSet and not TabControl But if I use IDE explorer (sorry not yours) I see all the properties and I do not see TABS but Items so you might be correct On CnWizard there is something to associate the toolbar search for TGradientTabSet. I will investigate
-
Yes, I used your GREP already and I still, unfortunately, did not understand how to use it. Any idea? It will not work. For example, it has FTabList :TList; FTabList :TStringList; Is it allowed? Something fishy.
-
@dummzeuch I will try P.s i saw it before It is not implemented. No idea how to use it.
-
@dummzeuch Yes ClassName and more. Every thing checked. It is a TTabControl and I even did a hide that hides all the tabs. with IDE Explorer (Not yours) I can see all propeties. ComponentToolbarFrame>TabControl=TTabControl My only problem now is that TABS is not nil but using it give an error.
-
P.S TTabControl(x).Visible:=false; make all the tabs disapear. So I have control of the tabs but not on TTabControl(x).Tabs
-
@dummzeuch Thanks I used it. However, I sent you a personal mail with comments and changes to your software for you to add and publish. As for my problem, it seems I cannot reach the component tabs. Although TTabControl(x).Tabs in not nil it cannot be accessed.
-
I cannot find IDE Explorer. I use 1.3.11.64 experimental quit old I gess.
-
@dummzeuch I will try. However, what I did on each FindComponent I made sure it is not nil and save all components to file with ComponentCount Components.Name this how I found all the names.
-
Using D10.2.3 function TForm1.GxOtaGetCurrentModule: IOTAModule; var ModuleServices: IOTAModuleServices; begin ModuleServices := BorlandIDEServices as IOTAModuleServices; Assert(Assigned(ModuleServices)); Result := ModuleServices.CurrentModule; end; function TForm1.GxOtaGetFormEditorFromModule(const Module: IOTAModule): IOTAFormEditor; var i: Integer; Editor: IOTAEditor; FormEditor: IOTAFormEditor; begin Result := nil; if not Assigned(Module) then Exit; for i := 0 to Module.GetModuleFileCount - 1 do begin Editor := GxOtaGetFileEditorForModule(Module, i); if Supports(Editor, IOTAFormEditor, FormEditor) then begin Assert(not Assigned(Result)); Result := FormEditor; // In order to assert our assumptions that only one form // is ever associated with a module, do not call Break; here. end; end; end; function TForm1.GxOtaGetFileEditorForModule(Module: IOTAModule; Index: Integer): IOTAEditor; begin Assert(Assigned(Module)); Result := Module.GetModuleFileEditor(Index); end; procedure TForm1.Button2Click(Sender: TObject); var CurrentModule: IOTAModule; CurrentForm: IOTAFormEditor; lComponent: IOTAComponent; begin CurrentModule := GxOtaGetCurrentModule; Assert(Assigned(CurrentModule)); CurrentForm := GxOtaGetFormEditorFromModule(CurrentModule); if CurrentForm.GetSelCount > 0 then lComponent := CurrentForm.GetSelComponent(0) else lComponent := CurrentForm.GetRootComponent; if not lComponent.IsTControl then begin ShowMessage('The Component of Selected is not Container Control!'); exit; end; //CurrentForm.GetSelComponent(0).GetComponentType; Label2.Caption:=lComponent.GetComponentType; <<<<< Tpanel or Tform Label3.Caption:= CurrentForm.FileName; <<< file.dfm // CurrentForm.CreateComponent(lComponent, 'TADOtable', 0, 0, 50, 50); <<<< This is OK ///THIS IS WHERE THE ERROR IS CurrentForm.CreateComponent({CurrentForm.GetSelComponent(0)}lComponent, 'TLabel', 0, 0, 50, 50);<<<< This is an ERROR end; ERROR = Class TLabel is not applicable to this module Any help?
-
Create component ERROR in expert in D10.2.3
limelect replied to limelect's topic in RTL and Delphi Object Pascal
@David Hoyle I modified your software for FMX too and it works as it should be. Thanks again. P.S BPL is easier to work with you do not need to close Delphi and restart or have a second Delphi open. . -
Create component ERROR in expert in D10.2.3
limelect replied to limelect's topic in RTL and Delphi Object Pascal
@David Hoyle Thanks. As I said you are the EXPERT. I will modify for fmx too. Hopffuly I will succeed . -
Problem downloading GetIt package from GitHub
limelect replied to Jud's topic in Delphi IDE and APIs
@Jud My Getit does not work on D10.2.3 it shows error. Is what you showed will work here in my case ? What exactly the above mean?