Forum: Programmieren allgemein
by norwegen60,
12. Jun 2020
Dann hätte ich ja gar nicht gemerkt, dass dem Form in OnClose der Boden weg gezogen wird :wink:
Gibt es eigentlich eine sinnvolle Erklärung, warum ein Free nicht automatscih nillt?
Obiger Fehler kam nur, weil nach dem externen Form1.Free ein folgender check über assigned(Form1) immer noch true meldet, was vielleicht theoretisch erklärbar ist, praktisch aber Mist ist.
Somit bedeutet das,...
Forum: Programmieren allgemein
by norwegen60,
11. Jun 2020
Ja, und ich habe den Fehler auch gefunden. Im OnClose des Formulars stand
Form1 := nil
Forum: Programmieren allgemein
by norwegen60,
11. Jun 2020
Wieso wird der Name aber nicht "freigegeben"? Wie gesagt, beim ersten Create ist der Name noch "Form1". Wenn ich dann Form1 schließe und gleich wieder Öffne ist er Form1_1 usw.
Ich habe auch probiert
if not assigned(Form1) then
Form1 := TForm1.Create(nil);
try
Form1.Showmodal;
finally
Form1.Free;
Form1:=nil;
Forum: Programmieren allgemein
by norwegen60,
11. Jun 2020
Nein, automatisch wird es sicher nicht erzeugt. Aber trotzdem: Mit der lokalen Variablen habe ich ein Workaround das funktioniert.
Verstehen tu ich es trotzdem nicht, denn ich verwende in der Regel immer die bei TForm automatisch erstellte globale Variable Form1 und habe das noch nie festgestellt. Sonst würde die Wieder-Positionierung öfters nicht funktionieren.
Dadurch dass ich...
Forum: Programmieren allgemein
by norwegen60,
11. Jun 2020
Hallo zusammen,
ich habe mit einem Formulat das Phänomen, dass dieses bei jedem Aufruf zu seinem Namen eine Nr. angehängt bekommt. Ich erzeuge und öffne das Fenster ganz normal über Form1 := TForm1.Create(nil):
try
Form1.Showmodal;
finally
Form1.Free;
Form1:=nil;
end;