![]() |
alternativen zu close???
hier ist mein quellcode
Delphi-Quellcode:
also mit close wird das programm nicht geschlossen weil es ebend bei form create drinne steht- was kann ich stattdessen machen???
procedure TFDUP.FormCreate(Sender: TObject);
begin hacker:=0; uni:=TAuswertung.create; user; //DATEI SCHLIESSEN !!!! end; procedure tfdup.user; VAR PW:string; begin uni.id:=strtoint(InputBox('Bitte geben sie ihre Benutzer-ID ein','Ihre ID',inttostr(-maxint))); PW:=InputBox('Bitte geben sie ihr Passwort ein' ,'Ihr Passwort','OI'); IF (uni.id<>0) OR ((PW<>'OI')) THEN IF NOT passwort(pw) THEN BEGIN showmessage('Das von ihnen eingegeben Passwort ist Falsch !'); inc(hacker); CASE hacker OF 1..3: IF MessageDlg('Wollen sie es noch einmal probieren?', mtConfirmation, [mbYes, mbNo], 0) = mrYes THEN user ELSE BEGIN MessageDlg('Das Programm wird beendet.', mtInformation, [mbOk], 0); //DATEI SCHLIESSEN !!!! END; 4: BEGIN showmessage('Sie haben zum 4. mal ein falsches Passwort eingegeben'+#13+ 'Überprüfen sie die folgende Eingabe besonders sorgfältig !!!'); user; END; 5: BEGIN showmessage('Sie haben zum 5. mal ein falsches Passwort eingegeben'+#13+ 'Das Programm wird beendet !'); //DATEI SCHLIESSEN !!!! END ELSE BEGIN showmessage('Gratulation !'+#13+''+''+#13+''+'Ihr Passwort ist richtig !'+#13+''); showmessage('Herzlich Willkomen'+#13+''+''+#13+''+name+'!'+#13+''); hacker:=0; END; end; end; end; |
Re: alternativen zu close???
Application.Terminate
|
Re: alternativen zu close???
werden danach auch alle anderen units und formulare aus dem speicher geschmissen?
|
Re: alternativen zu close???
Was willst du beenden? Dein Programm oder eine andere Anwendung?
Bei deinem eigenen verwende Halt oder Application.Terminate. Bei einer anderen: ![]() ![]() Mit ersterem beendest du eine Anwendung mit dem Exenamen, den du mit zweiterem herausfindest, indem du den Fenstername angibst. Auf der gleichen Seite steht auch noch woanders, wie man ein Handle dazu verwendet. Und zu deiner Frage: Ja. AFAIK wird das Formular beim Ereignis FormDestroy freigegeben und FormDestroy wird bei Terminierung der Anwendung ausgelöst. Die genaue Reihenfolge kannst du in der OH nachschlagen. |
Re: alternativen zu close???
Moin Brutus,
Zitat:
Denn Zitat:
Wobei ich allerdings die Begründung, warum es mit close nicht geht nicht so ganz nachvollziehen kann. |
Re: alternativen zu close???
Vielleicht kannst du es direkt in die DPR reinschreiben
Delphi-Quellcode:
begin
if CheckPassword then begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end; end. |
Re: alternativen zu close???
Zitat:
wenn du zwei Formen offen hast, aber eine mit visible := false; und du machst bei der sichtbaren ein Close; wird das Sichtbare geschlossen, aber das andere ist noch offen und die Anwendung läuft noch. |
Re: alternativen zu close???
Moin Manu,
Zitat:
Wenn Du das Hauptformular mit Close schliesst, wird üblicherweise auch die Anwendung beendet. |
Re: alternativen zu close???
Zitat:
Zusammengefasst:
|
Re: alternativen zu close???
Ich denke, bei Application.terminate wird OnCloseQuery nicht ausgeführt, ob OnClose ausgeführt wird weiß ich nicht, aber man kann ja folgende Proc schreiben:
Delphi-Quellcode:
procedure TForm1.beenden;
begin onclose(Form1); //onclosequery, wenn man will. application.terminate; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 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