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/)
-   -   Problem mit Form1.Close; (https://www.delphipraxis.net/121505-problem-mit-form1-close%3B.html)

AlexII 29. Sep 2008 11:49


Problem mit Form1.Close;
 
Hallo,

hab folgenden Code geschrieben:

Delphi-Quellcode:
if not FileExists('Quiz.ini') then
  begin
      MessageDlg('Die Datei Datei.ini konnte nicht gefunden werden!' + CHR(13)
      + 'Das Programm wird geschloßen.', mtError, [mbOK], 0);
      Form1.Close;
  end;
der funktioniert irgendwie nicht, drückt man auf OK wird das Form1 trotzdem geöffnet. :( Hab schon alles ausprobiert.

mkinzler 29. Sep 2008 11:52

Re: Problem mit Form1.Close;
 
Wo öffnest du die Form denn?

Prototypjack 29. Sep 2008 11:53

Re: Problem mit Form1.Close;
 
Zitat:

Zitat von AlexII
Hallo,

hab folgenden Code geschrieben:

Delphi-Quellcode:
if not FileExists('Quiz.ini') then
  begin
      MessageDlg('Die Datei Datei.ini konnte nicht gefunden werden!' + CHR(13)
      + 'Das Programm wird geschloßen.', mtError, [mbOK], 0);
      Form1.Close;
  end;
der funktioniert irgendwie nicht, drückt man auf OK wird das Form1 trotzdem geöffnet. :( Hab schon alles ausprobiert.

Moin,

Steht dieser Code rein zufällig in dem OnCreate-Ereignis der Form? Wenn ja, kann das nicht funktionieren. Du kannst entweder zu einem späteren Zeitpunkt prüfen oder das ganze bereits in der DPR-Datei (da wo das Programm eigentlich erstellt wird) abfragen und das erstellen der Form dann gleich unterbinden.

Grüße,
Max

toms 29. Sep 2008 11:53

Re: Problem mit Form1.Close;
 
---

Prototypjack 29. Sep 2008 11:54

Re: Problem mit Form1.Close;
 
Moin,

Toms, das wird sein Problem nicht lösen, sondern nur jenes, welches er bekommen wird, sobald Close wirklich funktioniert :mrgreen: , denn dann wird die Form in jedem Fall geschlossen. Er verzichtet ja auf eine Prüfung, deshalb müsste sich die Form so und so schließen.

Grüße,
Max

Edit: Auch nicht ganz richtig gelesen. Er will ja gar nicht prüfen. Entschuldigung.

AlexII 29. Sep 2008 12:05

Re: Problem mit Form1.Close;
 
Ja das steht in OnCreate :gruebel: aber gearde hier wird doch die ini Datei eingelesen, wie geht das sonst, ich kann ja nicht wo anders prüfen.

Und wie mache ich das mit der DPR-Datei?

Prototypjack 29. Sep 2008 12:19

Re: Problem mit Form1.Close;
 
Moin,

So in etwa

Delphi-Quellcode:
{$R *.res}

begin
  Application.Initialize;
  if FileExists('Quiz.ini') then
  begin
    Application.CreateForm(TForm1, Form1);
    Application.Run;
  end;
end.
Natürlich musst du auch noch die Unit, die FileExists (SysUtils ist das, wenn ich mich nicht arg täuschen würde) enthält, einbinden. Wenn die Datei jetzt existiert, werden die Forms erstellt und die Applikation gestartet, ansonsten schließt sich das Programm sofort wieder.

Zum Source der DPR kommst du übrigens mit einem Klick auf "Quelltext anzeigen" im PopUp-Menu deines Projektes (Rechts wo auch die Units/Forms gelistet werden).

Grüße,
Max

Luckie 29. Sep 2008 12:29

Re: Problem mit Form1.Close;
 
Zitat:

Zitat von AlexII
Ja das steht in OnCreate

Überleg mal, was du da vor hast. Du willst mit den Beinen ins Auto ein, aber mit dem rechten Auge gleichzeitig wieder aussteigen. Kann das funktionieren? Mein Vorposter hat schon die Lösung genannt. Starte die Anwendung erst gar nicht, wenn die Datei nicht existiert. allerdings würde ich den Code noch erweitern und dem Benutzer eine entsprechede Meldung ausgeben, damit er weiß, warum das Programm nicht startet.

AlexII 29. Sep 2008 12:31

Re: Problem mit Form1.Close;
 
Oh jetzt hab ich folgendes:

Delphi-Quellcode:
[Warnung] MAIN.pas(117): Text hinter dem abschließenden 'END.' wird vom Compiler ignoriert
[Fehler] MAIN.pas(66): Ungenügende Forward- oder External-Deklaration: 'TForm1.FormCreate'
[Fehler] MAIN.pas(67): Ungenügende Forward- oder External-Deklaration: 'TForm1.NextQuestion'
[Fehler] MAIN.pas(68): Ungenügende Forward- oder External-Deklaration: 'TForm1.Button1Click'
[Fehler] MAIN.pas(69): Ungenügende Forward- oder External-Deklaration: 'TForm1.ShowResults'
[Fehler] MAIN.pas(70): Ungenügende Forward- oder External-Deklaration: 'TForm1.Button2Click'
[Fehler] MAIN.pas(71): Ungenügende Forward- oder External-Deklaration: 'TForm1.Button3Click'
[Fehler] MAIN.pas(72): Ungenügende Forward- oder External-Deklaration: 'TForm1.Button4Click'
[Fehler] MAIN.pas(73): Ungenügende Forward- oder External-Deklaration: 'TForm1.Beenden1Click'
[Fehler] MAIN.pas(74): Ungenügende Forward- oder External-Deklaration: 'TForm1.Label5Click'
[Fehler] MAIN.pas(75): Ungenügende Forward- oder External-Deklaration: 'TForm1.Label6Click'
[Fehler] MAIN.pas(76): Ungenügende Forward- oder External-Deklaration: 'TForm1.Label7Click'
[Hinweis] MAIN.pas(79): Das private-Symbol 'FiCountCorrect' wurde deklariert, aber nie verwendet
[Hinweis] MAIN.pas(80): Das private-Symbol 'FiCountError' wurde deklariert, aber nie verwendet
[Hinweis] MAIN.pas(81): Das private-Symbol 'FiCountQuestion' wurde deklariert, aber nie verwendet
[Hinweis] MAIN.pas(82): Das private-Symbol 'FiCountTries' wurde deklariert, aber nie verwendet
[Hinweis] MAIN.pas(83): Das private-Symbol 'FiCorrect' wurde deklariert, aber nie verwendet
[Hinweis] MAIN.pas(84): Das private-Symbol 'FiVers' wurde deklariert, aber nie verwendet
[Fataler Fehler] Quiz.dpr(5): Verwendete Unit 'MAIN.pas' kann nicht compiliert werden

Luckie 29. Sep 2008 12:33

Re: Problem mit Form1.Close;
 
Nun ja, ohne den zugehörigen Code können wir wohl alle nur mit den Achseln zucken oder wild rumraten. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 Uhr.
Seite 1 von 2  1 2      

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