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 Projektweit form suchen (https://www.delphipraxis.net/8529-projektweit-form-suchen.html)

Nimoee 7. Sep 2003 10:23


Projektweit form suchen
 
Hallo,
wie kann man Projektweit nach einer form suchen?
with suchmethode do
........

nimoee

Phoenix 7. Sep 2003 11:19

Re: Projektweit form suchen
 
Also ich verstehe nicht 100% was Du meinst.

Prinzipiell gibt es da zwei Möglichkeiten:

1.) Du bist noch am Coden:
Delphi-Suche (Bearbeiten / Suche), dort die tab-page "in Dateien Suchen" auswählen, als Suchstring: "TFormKlassenName = Class(" angeben und los gehts :)

2.) Runtime:
so gut wie gar nicht. Du müsstest über die RTTI (RunTime Type Information) über alle globalen Variablen iterieren und bei jeder globalen Variablen den Typ (Klassennamen) abfragen. Geht freilich nur, wenn Du Deine Forms auch als globale Variable deklariert hast.

Ist aber recht aufwendig.
Eine recht einfache Möglichkeit wäre (so mach ich das bei grösseren Projekten): Du erstellst ein var Array of var als globale variable.
Nach der Deklaration eiones Forms gehst Du im Implementation-Teil her, und trägst das Form in das Array ein. So brauchst Du hinterher nur noch in dem Array zu suchen und hast alle Deine Forms dort registriert.

Nimoee 7. Sep 2003 12:42

Re: Projektweit form suchen
 
hallo,

ich hab das problem, dass ich von einem Listfeld aus jede Menge editfelder, die in verschiedenen Forms liegen Focusieren muss.
Also erst Fenster auf, dann Focus auf das Edit-feld.

nimoee

Christian Seehase 7. Sep 2003 12:55

Re: Projektweit form suchen
 
Moin Nimoee,

probier's doch mal mit Application.FindComponent.

Beispiel:

Delphi-Quellcode:
var
  frmWork : TForm;

begin
  frmWork := Application.FindComponent('Form2') as TForm;
  if frmWork <> nil then frmWork.Show;
end;

Nimoee 7. Sep 2003 13:14

Re: Projektweit form suchen
 
hallo,
das hat mir gefehlt, habs immer mit findclass probiert.
Ich probiers.
Danke
nimoee

Nimoee 7. Sep 2003 13:22

Re: Projektweit form suchen
 
hallo,

das funktioniert prima.

nimoee

Nimoee 7. Sep 2003 14:19

Re: Projektweit form suchen
 
hallo,

jetzt barauch ich das Ganze noch um nach einem edt-feld zu suchen..

nimoee

CalganX 7. Sep 2003 15:33

Re: Projektweit form suchen
 
Dann nimmst du auch FindComponent. Nur dann auf einem Formular.
Delphi-Quellcode:
DeinForm.FindComponent('edtUsername');
Chris

PS: Schau dir auch mal die Hilfe von FindComponent an...

Nimoee 7. Sep 2003 15:37

Re: Projektweit form suchen
 
Hallo,

das ist nicht ganz so trivial, wie das aussieht. Ich jabe vorher die Form schon mit findcomponent gesucht.
Ich müsste also das 1. Ergenis für die Suche nutzen!

nimoee

CalganX 7. Sep 2003 15:42

Re: Projektweit form suchen
 
Hi,
das ist nicht viel schwieriger. Du speicherst das Formular aus der ersten Suche in eine Variable und suchst dann. So schwer ist das wirklich nicht. Siehe auch Hilfe.

Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr.
Seite 1 von 2  1 2      

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