Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Wurde Form kreiert (https://www.delphipraxis.net/12790-wurde-form-kreiert.html)

Bubblegun 4. Dez 2003 09:53


Wurde Form kreiert
 
Hi,
ich würde in meinem Delphi Programm gerne überprüfen
ob ein Form schon existiert/kreiert wurde.
Wie kann ich das anstellen?

MfG

MyRealName 4. Dez 2003 09:55

Re: Wurde Form kreiert
 
mit :

If Assign(Form1) Then ...

Wobei Form1 natürlich mit mit der Variable Deines Formulars zu ersetzen wäre ;-)

Bubblegun 4. Dez 2003 10:07

Re: Wurde Form kreiert
 
ich habe das mal eingefügt
jedoch bekomme ich einen error:

Delphi-Quellcode:
if Assign(TClientForm) then begin
  Connect(Server.Text,StrToInt(Port.Text));
end
else begin
  with TClientForm.Create(Self) do begin
    ClientName := Username.Text;
    Connect(Server.Text,StrToInt(Port.Text));
    Show;
  end
end
[Error] Login.pas(63): Incompatible types: 'TPersistent' and 'Class reference'

MyRealName 4. Dez 2003 10:15

Re: Wurde Form kreiert
 
Weil Du auf einen Typen testest in Deinem Code und nicht auf eine Variable :p

Böser Code :

Zitat:

If Assigned(TForm) Then ...
Guter Code :

Zitat:

var Form1 : TForm;
...
If Assigned(Form1) Then ...
Wenn man allerdings :

Zitat:

With TForm.Create(nil) Do...
arbeitet, hat man keine Klasseninstanz-Variable, die man testen kann :p


LG, MRN

Bubblegun 4. Dez 2003 10:42

Re: Wurde Form kreiert
 
sorry dass ich nochmals nachfrage aber
es funktioniert immer noch nicht.
jetzt bekomme ich den fehler
"Type of expression must be BOOLEAN".
irgendwie fehlt mir noch das verständnis für die ganze sache.

Delphi-Quellcode:
if Assign(ClientForm) then begin
  Connect(Server.Text,StrToInt(Port.Text));
end

MyRealName 4. Dez 2003 11:53

Re: Wurde Form kreiert
 
muß heißen If Assigned(ClientForm)...

Assign gibt es ja in Deinem Kontext auch, ist allerdings keine Boolsche Funktion ;-)

scp 4. Dez 2003 11:58

Re: Wurde Form kreiert
 
Zitat:

Zitat von MyRealName
muß heißen If Assigned(ClientForm)...

Assign gibt es ja in Deinem Kontext auch, ist allerdings keine Boolsche Funktion ;-)

Guck mal weiter oben, er hat das Assign() von dir abgeschrieben :-)

Bubblegun 4. Dez 2003 12:00

Re: Wurde Form kreiert
 
ouu.. :wall:

jetzt hats geklappt

thx!!

MyRealName 4. Dez 2003 12:10

Re: Wurde Form kreiert
 
kp


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 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