Mit Delphi program vil ikke afslutte
Jeg har et program der bruger MediaPLayer komponenten, men den opfører sig mærkelig når den skal afslutte applicationen. Applicationen lukker ikke ned.Her er koden der skal udføres når MPEG filen er afspillet:
procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
Log('Mode : ' + ModeStr[MediaPlayer1.mode] + ', ' + IntToStr(integer(MediaPlayer1.mode)));
if integer(MediaPlayer1.mode) = 1 then
begin
log('End of movie');
Application.ProcessMessages;
Application.Terminate;
exit;
end;
Mediaplayer1.Notify := true;
end;
og min logfil viser korrekt følgende:
Mode : Playing, 2
Mode : Stopped, 1
End of movie
Jeg har nu prøvet næsten alt hvad jeg kan finde på, bl.a. lavet en timer der venter et øjeblik inden programmet lukkes (application.terminate) eller
brugt Form1.Close.
Application står bare med den sidste frame på skærmen.
Jeg har en slags OnClock event som se sådan ud:
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
if Msg.message = WM_LBUTTONDOWN then
begin
CanClose := true;
Handled := True;
end;
{ for all other messages, Handled remains False }
{ so that other message handlers can respond }
if CanClose then
Close;
end;
Og når jeg klikker på skærmen lukkes programmet uden problemer.
Hjælp modtages gerne
