AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi: Aktion vor Programmende ausführen
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi: Aktion vor Programmende ausführen

Ein Thema von APieroth · begonnen am 7. Jul 2010 · letzter Beitrag vom 7. Jul 2010
Antwort Antwort
APieroth

Registriert seit: 27. Sep 2006
Ort: Bremen
6 Beiträge
 
#1

Delphi: Aktion vor Programmende ausführen

  Alt 7. Jul 2010, 07:17
Hallo ihr Kundigen,

ich habe ein kleines Problem: Ich habe ein Programm geschrieben, das ein Formular mit einer Webbroser Komponente enthält, über die ich eine https:// Seite aufrufe um Meldungen an Prowl (pushed Nachrichten an das iPhone) zu senden.
Unter anderem möchte ich dabei gerne auch eine Nachricht senden, wenn mein Programm beendet wird (egal, ob über einen Beenden-Button oder durch Herunterfahren des Rechners). Zum Versand einer Nachricht rufe ich die Routine SendProwlMessage auf, was auch ganz prima funktioniert, zumindest, solange das Programm nicht beendet wird.
Wird es jedoch beendet, so rufe ich ebenfalls die Routine SendProwlMessage('Programm wird beendet') in TForm1.FormDestroy auf. Leider wird keine Meldung mehr ausgegeben, ich vermute, weil die Webbrowserkomponente schon beendet wurde?

Was kann ich tun?

MfG

A. Pieroth

Delphi-Quellcode:
function TProwlPushForm.WaitForBrowser(WB: TWebbrowser; TimeOut: Integer = 8000): Boolean;
var
  StartTime, EndTime: DWORD;
begin
  Result := False;
  StartTime := GetTickCount;
  repeat
    Application.ProcessMessages;
    EndTime := GetTickCount;
  until (WB.ReadyState = READYSTATE_COMPLETE) or (Application.Terminated) or (EndTime - StartTime > TimeOut);
  Result := WB.ReadyState = READYSTATE_COMPLETE;
end;


procedure TProwlPushForm.SendProwlMessage(Nachricht: string);
var s: string;

begin
    ProwlApi.apikey:= settings.ProwlApiKey;
    ProwlApi.priority:='0';
    ProwlApi.application:= settings.ProwlApplication;
    ProwlApi.event:= settings.ProwlEvent;
    s:= ProwlUrl+'add?apikey='+ProwlApi.apikey+'&priority='+ProwlApi.priority+'&application='
      +ProwlApi.application+'&event='+ProwlApi.event+'&description='+utf8encode(Nachricht);
    WebBrowser1.Navigate(s);
    WaitForBrowser(WebBrowser1, 5000);
end;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Delphi: Aktion vor Programmende ausführen

  Alt 7. Jul 2010, 07:21
Am Besten im CloseQuery der Hauptform
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#3

AW: Delphi: Aktion vor Programmende ausführen

  Alt 7. Jul 2010, 07:45
Oder OnClose.

Bin mir grad nicht sicher, ob CloseQuery beim Runterfahren unbedingt aufgerufen wird.
Es gibt einige Fällte wo Delphi dieses nicht aufruft und die Form ohne Rückfrage schließt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Delphi: Aktion vor Programmende ausführen

  Alt 7. Jul 2010, 07:48
Ja wird. OnClose aber nicht unbedingt
Markus Kinzler
  Mit Zitat antworten Zitat
APieroth

Registriert seit: 27. Sep 2006
Ort: Bremen
6 Beiträge
 
#5

AW: Delphi: Aktion vor Programmende ausführen

  Alt 7. Jul 2010, 07:57
Jep, hat hingehauen! Danke!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 Uhr.
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