Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Aufruf von Formularen über den Namen (https://www.delphipraxis.net/6645-aufruf-von-formularen-ueber-den-namen.html)

JohannesK 17. Jul 2003 14:43


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.

Blizzard 17. Jul 2003 15:12

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:

 treeview.Items.AddChildObject(nil,'form1',@form1);

var
 form:tform;
begin
 form:=tform(treeview.selected.data);
 form.show;
end;
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.

ansonsten wenn de bei deiner methode bleiben willst müssteste die form über
Delphi-Quellcode:
var
 form:tform;
begin
 form:=application.findcomponent(itemname);
 form.show;
end;
finden können.

mfg
blizzard

Christian Seehase 17. Jul 2003 15:17

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:
procedure TForm1.Button1Click(Sender: TObject);

var
  frmWork : TForm;

begin
  frmWork := Application.FindComponent(MyRecArr[N].PName) as TForm;
  if frmWork <> nil then frmWork.Show;
end;
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.

[EDIT]
:cry:
Schon wieder zu spät
:mrgreen:
[/EDIT]

JohannesK 17. Jul 2003 15:49

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 20:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz