Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Anzeige der Nebenform vor der Hauptform (https://www.delphipraxis.net/61993-anzeige-der-nebenform-vor-der-hauptform.html)

Avax2k 29. Jan 2006 12:57


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:
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;
und hier der Befehl in der Form2

Delphi-Quellcode:
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;
hoffe jemand kann mir weiterhelfen damit der fehler nicht mehr kommt.

SORRY das WAR ein FEHLER beim Tippen mit der 7 ist im Code schon eine 2 :(

marabu 29. Jan 2006 13:11

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

SirThornberry 29. Jan 2006 13:12

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.

Avax2k 29. Jan 2006 13:17

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:
Application.Terminate();
reingeschrieben habe..

das vorhin war ein Schreibfehler..ist korrigiert worden

marabu 29. Jan 2006 13:20

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

Avax2k 29. Jan 2006 13:30

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

marabu 29. Jan 2006 13:46

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

Avax2k 29. Jan 2006 14:25

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 :(

marabu 29. Jan 2006 14:29

Re: Anzeige der Nebenform vor der Hauptform
 
Nicht aufgeben. Ich hoffe nur du erzeugst die Form2 nicht im OnCreate deiner MainForm.

marabu

Avax2k 29. Jan 2006 14:34

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 14:09 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz