Prüf doch vor dem Zugriff, ob "iTunesApp.CurrentTrack" existiert, dann brauchste auch keinen except-Block.
- edit -
Ungetestet, da ich hier kein ITunes habe.
Delphi-Quellcode:
function GetCurrentITunesSong(): String;
var
iTunesApp, iTunesCurrentTrack: OleVariant;
begin
Result := 'iTunes closed';
if (FindWindow('iTunes', nil) <> 0) then
begin
iTunesApp := CreateOleObject('iTunes.Application'); // iTunes Objekt erzeugen
if (not VarIsNull(iTunesApp)) then
begin
iTunesCurrentTrack := iTunesApp.CurrentTrack;
if (not VarIsNull(iTunesCurrentTrack)) then
begin
Result := iTunesApp.CurrentTrack.Artist +' - '+ iTunesApp.CurrentTrack.Name;
iTunesCurrentTrack := Unassigned;
end;
iTunesApp := Unassigned;
end;
end;
end;