![]() |
FormActivate gegenstück
Hallo liebe delphi kenner^^
Ich habe mich gefragt, ob es auch eine Art Gegenstück zum FOrmactivat gibt, sodass wenn die exe geschlossen wird, eben eine nachricht angezeigt wird oder oder oder bisger musste ich das über einen button regeln, der sich beenden nannte... aber wenn die leute auch X klicken, wird ja mein befehl nciht umhesetzt... WIe kann cih das also erreichen? Vielen Dank schonmal für eure Antworten^^ |
Re: FormActivate gegenstück
![]() oder gefällt dir ![]() ![]() ![]() wie dem auch sei ... schau dir doch einfach mal im OI an, welche Ereignisse dir deine Form so bietet? :zwinker: |
Re: FormActivate gegenstück
ja danke, werde diese begriffe mal durchsuchen^^
aber ich dachte eher an ne direkte befehl auflistung^^ |
Re: FormActivate gegenstück
danke für die begriffe, habe diese in der help funktion durchgelesen, aber bin ncith sicher ob das richtige für mcih dabei ist, bzw wie ich es anwenden soll..
ich möchte, dass wenn die form geschlossen wird durch click auf x (oben rechts an der form in rot) dass dann eine shell execute ausgeführt wird, zb auf die seite google.de wie baue ich einen solchen befehl und welchen ein??? |
Re: FormActivate gegenstück
Zitat:
|
Re: FormActivate gegenstück
nein, von Onactivate habe ich ncoh ncihts gehört, bin noch nciht soo sehr vertraut mit Delphi...
meine Frage war ja aber, ob es eine funktion gibt, die etwas ausführt wenn das programm geschlossen wird, und falls ja, wie ich einen solchen befehl zu formulieren habe |
Re: FormActivate gegenstück
Ich empfehle Dir für deinen Zweck mal das OnDestroy Event.
Das wird aufgerufen, wenn die Anwendung geschlossen wird, egal ob über das X oben rechts, oder ob Du im Programm auf einen Button mit Close reagierst. Versuch macht klug. :-D |
Re: FormActivate gegenstück
OnClose ist eigentlich das richtige. Bei OnDestroy wird das Formular bereits zerstört. Und bei OnCloseQuery kann man das Schließen verhindern.
|
Re: FormActivate gegenstück
okay, und welchen "Namen" würde meine procedure tragen?
also ganz normal, wie formactivate einfach oder??? stelle cih mcih doof an oder sehe ich einfach cnith wie es lauten muss? |
Re: FormActivate gegenstück
Klick auf Dein Form, wechsle im OI auf den Reiter "Ereignisse" und mache einen Doppelklick auf OnClose oder OnCloseQuery. Siehe da, da ist der Code, den Du nur noch mit Inhalt füllen musst :zwinker:.
|
Re: FormActivate gegenstück
|
Re: FormActivate gegenstück
also mein code lautet nun:
procedure TTravianSammlung.closing(Sender: TObject); begin shellexecute(handle,'open','http://uhuleitz.kleine-stadt.com',nil,nil,sw_show); end; nur leider passiert ncihts, wenn ich auf das schliessen x drücke |
Re: FormActivate gegenstück
Wo kommt denn das Closing her? Hast Du mein letztes Posting nicht gelesen?
|
Re: FormActivate gegenstück
na doch^^
bei klick auf das ondeactivate musste ich eine caption angeben habe diese eben closing genannt... name ist doch eig egal oder? |
Re: FormActivate gegenstück
Zitat:
solange die Ereignisprozedur dem Ereignis zugeordnet ist. |
Re: FormActivate gegenstück
Schreibs bei OnClose hin, dann klappt das auch... Doppelklicke einfach auf OnClose...
|
Re: FormActivate gegenstück
Zitat:
wie stelle ich also fest, dass sie richtig zugeordnet ist? |
Re: FormActivate gegenstück
Mach einen Doppelklick im OI, dann wird das Ereignis auch zugeordnet.
|
Re: FormActivate gegenstück
Zitat:
|
Re: FormActivate gegenstück
Zitat:
@uhuleitz Habe mir bisher immer so geholfen, dadurch wird der Abbrecher mit dem [X] Knopf auch dazu gezwungen, die Routine zu durchlaufen, als wenn er den [Exit] Button angeklickt hätte.
Delphi-Quellcode:
Mit freundlichen GrüßenbExit : TButton; ... private var ExitIsCalled : boolean; ... function TForm1._beforeExit:boolean; begin // add a query before close application here {-} result:=True; // or always close app end; procedure TForm1.bExitClick(Sender: TObject); begin ExitIsCalled:=_beforeExit; if ExitIsCalled then Form1.Close; {-} end; procedure TForm1.FormCreate(Sender: TObject); begin ... ExitIsCalled:=False; ... end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin if ExitIsCalled then begin {bExit was already pressed, user want to exit now} end else begin {bExit not pressed, but [X]-button be pressed} ShowMessage('Please Use In Future Times The ExitButton - Okay:)'); if _beforeExit then {okay, closing form now} else Action:=caNone; {stop closing form} end; end; Manfred Zenns |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 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-2025 by Thomas Breitkreuz