Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Form dynamisch createn... (https://www.delphipraxis.net/116080-form-dynamisch-createn.html)

Cylence 23. Jun 2008 09:16


Form dynamisch createn...
 
Hi,

ich hab ein recht grosses Prog und davon werden nicht alle forms immer verwendet darum mach ich das einfach so:

if not Assigned(FORM) then Application.CreateForm(TFORM, FORM);
FORM.Show;


wobei FORM eben der name der jeweiligen form ist. also das geht auch aber eben irgendwie nur meistens...manchmal gehts nicht also ich starte das prog probiers aus, klappt starte es später nochmal probiers wieder und es geht nicht und ich hab ne zugriffsverletzung...kann doch nich sein... mach ich da was falsch??? Die Forms werden auch nicht mehr gefreet danach oder so also das kann auch nich das prob sein...

ebenfalls hab ich einen splashscreen und der wird nach dem alles crreated wurde etc geschlossen aber bei einem einzigen von 170 pcs geht das nich das splash fenster bleibt einfach da... machen manche pcs manchmal einfach nich was sie sollen? zufallsprinzip das mach ich das nich...???

Sharky 23. Jun 2008 09:17

Re: Form dynamisch createn...
 
Hai Cylence,

nicht böse sein. Ich würde Dir gerne helfen.... Aber ich verstehe deine Sätze einfach nicht.

Eventuell solltest Du dein Posting noch einmal editieren. ;-)

Cylence 23. Jun 2008 09:20

Re: Form dynamisch createn...
 
häh?

naja ich mach auf einen button klick

if not assigned then application createform usw...
dann show form

aber manchmal gehts und manchmal nicht...

mkinzler 23. Jun 2008 09:21

Re: Form dynamisch createn...
 
Ich würde eher
Zitat:

if not Assigned(FORM) then form := TForm.Create( Nil);
verwenden

RavenIV 23. Jun 2008 09:23

Re: Form dynamisch createn...
 
Liegt möglicherweise am
Application.CreateForm.

Ich mache das meistens so:
Delphi-Quellcode:
  if not Assigned(Formname) then
  begin
    Formname.Create(Self);
  end;
Für das Splash-Problem:
Neue Frage, neuer Thread.
Pro Thread nur eine Frage, weil's sonst unübersichtlich wird.
Zudem kam das erst mit dem Edit dazu...

Cylence 23. Jun 2008 09:24

Re: Form dynamisch createn...
 
ok also versuch ich das jetzt mal überall so zu machen, auch wenn ich den utnerschied nicht verstehe...

naja und das mit dem splash screen hat ja auch was damit zu tun es ist eben so das manche rechner manchmal irgendwie manches einfach nich machen warum auch immer und das is ja bei dem create auch so...und ich verstehs nich ganz

Cylence 23. Jun 2008 09:34

Re: Form dynamisch createn...
 
also so gehts ja garnich:

if not Assigned(FNetSend) then TFNetSend.Create(nil);


aber so klappts im mom

if not Assigned(FNetSend) then FNetSend := TFNetSend.Create(nil);

was ist denn der wirklich richtige weg wie sollte man es machen?

mkinzler 23. Jun 2008 09:37

Re: Form dynamisch createn...
 
Ersteres geht schon, es wird nur nicht der Referenzvariable zugewiesen

Cylence 23. Jun 2008 09:40

Re: Form dynamisch createn...
 
ok habs gesehen aber was ist denn der rictige weg? was is an apllication.createform falsch? bzw wieso gehts manchmal sehr eigenartig find ich entweder gehts oder nich aber mal ja mal nein kann doch nich sein

mkinzler 23. Jun 2008 09:42

Re: Form dynamisch createn...
 
Application.CreateForm() ruft intern auch den konstruktor auf.


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