![]() |
Anzeige der Nebenform vor der Hauptform
Hallo, habe abermals ein Problem und weiss nicht mehr weiter...
Ich verwende folgenden Code um ein Fenster vor der MainForm einzublenden..das funktioniert auch tadellos... nur wenn ich bei dem eingeblendeten Fenster den Befehl Free verwende bekomme ich immer eine Fehlermeldung, dann geht das Programm aber weiter. Lasse ich free weg bleibt das Fenster immer im Vordergrund aber im Hintergrund wird die Hauptform gestartet.. hier der Code
Delphi-Quellcode:
und hier der Befehl in der Form2
Form2 := TForm2.Create(Application);
Form2.Edit1.Text := 'Hallo'; ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'test.ini'); Form2.Edit2.Text := Ini.ReadString('Text', 'Test',''); Form2.Button1Click(Form2.Button1); .... ... ... Form2.ShowModal; end;
Delphi-Quellcode:
hoffe jemand kann mir weiterhelfen damit der fehler nicht mehr kommt.
var ini : TIniFile;
begin ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+ 'test.ini'); if Edit2.Text = 'hallo' then begin ini.WriteString('Text', 'Test', Edit2.Text); Form2.Free; // <---- hier kommt der Fehler her, denn lasse ich es weg funktioniert es aber Fenster bleibt bestehen :( end else Label1.Caption := 'Fehler'; end; SORRY das WAR ein FEHLER beim Tippen mit der 7 ist im Code schon eine 2 :( |
Re: Anzeige der Nebenform vor der Hauptform
Wenn du Form2 schließen willst, dann mache es mit Form2.ModalResult := mrOK und nicht mit Form7.Release - oder habe ich deinen Code falsch verstanden?
Grüße vom marabu |
Re: Anzeige der Nebenform vor der Hauptform
was ist Form7? Ist Form7 das MainForm? Ansonsten entspricht der Quelltext nicht der Beschreibung, denn das Free wird ja nicht für Form2 ausgeführt sondern für irgend ein anderes was in deiner Beschreibung wohl fehlt.
|
Re: Anzeige der Nebenform vor der Hauptform
das mit dem ModalResult := mrOK klappt nicht da Schließt sich dann die Anwendung komplett ..aber die Fehlermeldung ist weg..wie gesagt liegt ja auch am Form2.Free :(
vielleicht sollte ich noch erwähnen, dass ich in Die OnClose von Form2
Delphi-Quellcode:
reingeschrieben habe..
Application.Terminate();
das vorhin war ein Schreibfehler..ist korrigiert worden |
Re: Anzeige der Nebenform vor der Hauptform
Wenn du Form2 vor deiner MainForm anzeigen willst, dann erzeuge es mit Owner = NIL. Und schließe es mit einer Zuweisung an ModalResult.
marabu |
Re: Anzeige der Nebenform vor der Hauptform
okay wenn iches mit NIL erzeuge und ModalResult nehme dann schließt sich das Programm einfach.. wenn ich aber Form2.Free weiterhin nehme, dann bekomme ich immer noch den gleichen Fehler
|
Re: Anzeige der Nebenform vor der Hauptform
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang siehst du eine Möglichkeit eine Form vor der MainForm anzuzeigen - ohne Fehler und ohne vorzeitiges Beenden der Anwendung.
marabu |
Re: Anzeige der Nebenform vor der Hauptform
danke für den Anhang funktioniert sehr gut
NUR eben nicht bei mir ich habe ein Oncreate im Hauptfenster..deines ist da leer... habe alles eingestellt wie bei dir auch..und Active Control beim Form2 auch auf den Knopf gelegt aber jetzt wird mein Form2 gar nciht angezeigt sondern das hauptform erscheint sofort :( ich bin wohl zu blöde um das umzusetzen :( |
Re: Anzeige der Nebenform vor der Hauptform
Nicht aufgeben. Ich hoffe nur du erzeugst die Form2 nicht im OnCreate deiner MainForm.
marabu |
Re: Anzeige der Nebenform vor der Hauptform
nein ist alles raus in der Hauptform steht jetzt gar nichts mehr über die Form2 drin so als gäbe es sie nicht... ich komme einfach nicht darauf aus welchen gründen deine SpecialForm VOR der Hauptform startet..denn da ist gar kein Befehl drin und auch keine Einstellung an der ich das ändern könnte habe alles schon durchprobiert aber wahrscheinlich einfach nur übersehen.
Selbst wenn ich den ActiveControl deaktiviere bei Form2 wird diese als erste angezeigt :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 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 by Thomas Breitkreuz