Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Alle Forms eines Projektes finden (https://www.delphipraxis.net/170895-alle-forms-eines-projektes-finden.html)

HolgerCW 9. Okt 2012 08:39

Delphi-Version: 2006

Alle Forms eines Projektes finden
 
Hallo zusammen,

so finde ich ja alle schon erstellten Forms in der Anwendung:

Delphi-Quellcode:
CB_Form: TComboBox;

var
 Form: TForm;
begin

 CB_Form.Clear;
 For I := 0 to Application.ComponentCount - 1 do
 begin

  if Application.Components[I] is TForm then
  begin

   Form := TForm(Application.FindComponent(Application.Components[I].Name));

   CB_Form.Items.Add(Form.Name)

  end;

 end;

end;
Wie kann ich denn auch die Forms finden, welche noch nicht "created" wurden ?

Gruss

Holger

Zacherl 9. Okt 2012 08:44

AW: Alle Forms eines Projektes finden
 
Gar nicht :D Wie soll das denn gehen, wenn noch gar keine Objektinstanz besteht? Was genau versuchst du denn zu machen? Vielleicht gibt es da eine andere Möglichkeit zum Ziel zu gelangen.

DeddyH 9. Okt 2012 08:45

AW: Alle Forms eines Projektes finden
 
Du suchst doch Instanzen. Die kannst Du aber erst finden, wenn sie erzeugt wurden, oder willst Du auch Schuhe anziehen, die noch als Kuh auf der Weide stehen? ;)

Neutral General 9. Okt 2012 08:50

AW: Alle Forms eines Projektes finden
 
Du könntest dir eine Liste machen in die du zur Laufzeit irgendwo im Code alle Form-Klassen einträgst die du verwendest.

Ansonsten könnte es eventuell sein dass man die Formklassen auch dynamisch über die RTTI ermitteln kann, aber da bin ich mir grad nicht 100%ig sicher.

HolgerCW 9. Okt 2012 08:52

AW: Alle Forms eines Projektes finden
 
Ich speichere in einer Datenbank ab, welche Form geöffnet werden soll, wenn ein bestimmter Button gedrückt wird.

Nun wollte ich mir einen Dialog bauen, mit dem ich die Datenbanktabelle pflegen kann. Und da dachte ich mir das ich die möglichen Formen meines Projektes in einer ComboBox Vorbelege.

Über so eine Liste hatte ich auch schon nachgedacht, aber dann kann ich auch ein Edit-Feld anstatt einer ComboBox machen und den namen der Form dort hard eintragen.

Also quasi Quellcode durchsuchen oder ähnliches geht nicht ?

Gruss

Holger

Neutral General 9. Okt 2012 09:11

AW: Alle Forms eines Projektes finden
 
Hallo,

Welches Delphi hast du denn? Wirklich nur 2006?
Ab 2010 geht das ziemlich sicher per RTTI.

Vorher könnte es problematisch werden glaube ich.

DeddyH 9. Okt 2012 09:12

AW: Alle Forms eines Projektes finden
 
Welchen Quellcode denn? Dann müsstest Du den ja passend zur Version mitliefern.

Neutral General 9. Okt 2012 09:16

AW: Alle Forms eines Projektes finden
 
Er meint sicher nicht den unkompilierten Quellcode...

HolgerCW 9. Okt 2012 09:22

AW: Alle Forms eines Projektes finden
 
Leider habe ich nur die Versin 2006. Überlege aber schon länger über ein Update nach.

Im Quelltext stehen die ja auch alle drin. Kann man den während der Laufzeit durchleuchten ?

himitsu 9. Okt 2012 09:29

AW: Alle Forms eines Projektes finden
 
Natürlich nicht, da dein Quellcode nicht in der EXE landet. :roll:

Du müßtest dann deine Quellcodes selber mitgeben
und dann brauchst'e eventuell auch noch einen Parser, welcher diese lesen/durchsuchen kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 Uhr.
Seite 1 von 2  1 2      

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