Weil Application.Terminate nicht das Programm veranlasst alle Brocken hinzuwerfen und sich kopf- und haltlos ins Nirwana verabschiedet, sondern der Code danach auch noch ausgeführt wird.
Delphi-Quellcode:
if
not iTunesRunning
then
begin
MessageBox(
Handle,'
Start iTunes first...','
Error',MB_OK
or 16);
Application.Terminate;
end
else
begin
Timer1Timer(Sender);
end;
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if
not iTunesRunning
then
begin
//wiedergabe gestoppt an server senden, kein problem
Application.Terminate;
end
else
begin
LastTrack := CurTrack;
CurTrack := CurrentTrack;
if
( CurTrack.Artist = '' ) and
( CurTrack.Album = '' ) and
( CurTrack.Song = '' )
then
begin
//wiedergabe gestoppt senden
close; // <<--- hier wird die Form geschlossen! Soll das so sein???
end;
end;
// wenn nötig, TrayIcon-Hint anpassen und daten an server senden, das ist aber kein problem...
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)