![]() |
Aufruf von Formularen über den Namen
Ich möchte per Doppelclick aus einem Treeview-Element über die absolute Adresse einen Formularnamen aus einem Array auslesen. Mein Problem
wie komme ich von diesen Angaben N := (treeview1.Selected.AbsoluteIndex); ItemName := MyRecArr[N].PName; // Pname ist der Formularname zu einer vernünftigen Prozedur für das öffnen des entsprechenden Formulars mit dem Namen Pname ? Dankbar für jeden Hinweis. |
Re: Aufruf von Formularen über den Namen
warum schreibst du das formular ned einfach in das object der ttreeview node?
was ich meine:
Delphi-Quellcode:
der erste teil fügt eine neue node in den treeview ein der zweite teil zeigt die form die in der ausgewählten node "gespeichert" ist an.treeview.Items.AddChildObject(nil,'form1',@form1); var form:tform; begin form:=tform(treeview.selected.data); form.show; end; ansonsten wenn de bei deiner methode bleiben willst müssteste die form über
Delphi-Quellcode:
finden können.
var
form:tform; begin form:=application.findcomponent(itemname); form.show; end; mfg blizzard |
Re: Aufruf von Formularen über den Namen
Moin Johannes,
erst einmal herzlich willkommen hier in der Delphi-PRAXiS. Da die Formulare Komponenten des Application Objektes sind, könntest Du es so machen
Delphi-Quellcode:
Wieso jetzt der Index in der Formularliste mit dem AbsoluteIndex eines Nodes korrespondiert weiss ich nicht, allerdings wäre es flexibler den Index der Formularliste in der Eigenschaft Data zu speichern.
procedure TForm1.Button1Click(Sender: TObject);
var frmWork : TForm; begin frmWork := Application.FindComponent(MyRecArr[N].PName) as TForm; if frmWork <> nil then frmWork.Show; end; [EDIT] :cry: Schon wieder zu spät :mrgreen: [/EDIT] |
Re: Aufruf von Formularen über den Namen
Herzlichen Dank für die beiden Möglichkeiten, ich werde es gerade ausprobieren ! :D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz