Wieso erstellst du den Frame eigentlich zur Laufzeit?
Ansonsten:
frm_lieg_open.open_lgs.Create(self);
wird freigegeben aber
frm_lieg_open
wird nicht wieder freigegeben. Vielleicht liegts daran.
Wieso erstellst du den Frame eigentlich zur Laufzeit?
Ansonsten:
frm_lieg_open.open_lgs.Create(self);
wird freigegeben aber
frm_lieg_open
wird nicht wieder freigegeben. Vielleicht liegts daran.
--Aktuelles Projekt
"Uns're Ordnung ist das Chaos!
Verändern heißt zerstör'n!
der fehler selbst is schon behoben. und die frm_lieg_open wird in einer andern prozedur wieder freigegeben. des is ja nur ein schnipssel ausm quellcode. und warum ich frames zur laufzeit erstelle? weil ich mehrere Frames innerhalb einer form abwechselnd haben will.
aber noch etwas. kann man Code global auslagern und dann sozusagen includen. ähnlich wie in php oder C/C++ der include-befehl?
Borky
Ja, oben zu Beginn deiner Datei wirst du den Punkt "uses" sehen. Hinter den schreibst du die Dateinamen (ohne die Endung), die du verwenden willst.Zitat
Also wenn du eine Datei "zeugs.pas" hast schreibst du
Delphi hat da schon einige Dateien eingefügt die du bereits benutzt (zB Forms), deine Dateien kannst du einfach dahinter anfügen.
Es ist noch zu erwähnen, es gibt zwei uses in jeder Datei. Einmal ganz oben im Interface-Teil, wo man Klassen definiert und einmal im Implementation-Teil wo der eigentliche Code der Funktionen steht.
Wenn du Funktionen oder Variablen/Konstanten aus anderen Dateien in deinem Interface-Teil nutzen willst musst du die Datei auch dort einfügen. (Sie ist dann aber in der gesamten Datei verfügbar) Dateien die nur im Implementation-Teil eingefügt wurden sind auch nur dort benutzbar.
Der wichtige Unterschied ist, im Interface-Teil darfst du keine Ring-Einfügung machen. Also wenn Datei A in ihrem Interface-Teil Datei B einfügt, darf Datei B nicht Datei A in seinem Interface-Teil einfügen, Delphi würde dir dann einen Fehler entgegenwerfen.
Im Implementation-Teil dürfen solche Ring-Einfügungen aber vorkommen.