AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi ZV bei Benutzung von Windows Media Player 9
Thema durchsuchen
Ansicht
Themen-Optionen

ZV bei Benutzung von Windows Media Player 9

Ein Thema von franz · begonnen am 29. Dez 2003 · letzter Beitrag vom 12. Jan 2004
Antwort Antwort
franz

Registriert seit: 23. Dez 2003
Ort: Bad Waldsee
112 Beiträge
 
Delphi 5 Professional
 
#1

ZV bei Benutzung von Windows Media Player 9

  Alt 29. Dez 2003, 21:20
Ich habe folgendes Problem:
Ich habe in mein Programm den Windows Media Player 9 integriert (als ActiveX Element). Wenn der Benutzer diesen verwendet hat und das Programm beendet wird, treten zwei Zugriffsverletzungen auf. Selbst wenn ich den Programmcode für OnCloseQuery und OnClose mit try execpt Blöcken umschließe, erhält der Benutzer beide Fehlermeldungen. Auch wenn ich das Mediaplayer Objekt mit

If Assigned(MSMediaPlayer9) then prüfe und es, falls erforderlich, neu einrichte, hilft dies nichts.

Wenn der Benutzer den Windows Media Player nicht verwendet, tritt dieses Problem auch nicht auf.

Vielleicht liegt es auch an meinem Betriebssystem. Ich arbeite noch mit Windows 98.
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#2

Re: ZV bei Benutzung von Windows Media Player 9

  Alt 29. Dez 2003, 22:22
Gib mal en bissel wad an Code
  Mit Zitat antworten Zitat
franz

Registriert seit: 23. Dez 2003
Ort: Bad Waldsee
112 Beiträge
 
Delphi 5 Professional
 
#3

Re: ZV bei Benutzung von Windows Media Player 9

  Alt 29. Dez 2003, 22:29
Code für OnCloseQuery:

Delphi-Quellcode:
procedure TfrmMainform.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  if MediaPlayerUsed then
     FJFMsgDlgA('Windows Media Player hat ein Problem festgestellt!' + #13#13 +
                'Überspielen Sie die neueste Aktualisierung aus dem ' +
                'Internet, um dieses Problem zu beheben!',
                'Windows Media Player 9-Reihe',
                mbfInfOK);
  CanClose := true;
end;
Code für OnFormClose:
Delphi-Quellcode:
procedure TfrmMainform.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  try
    // DropTarget freigeben
    DropFileTarget1.Unregister;

    // Hilfe schließen, wenn Sie noch angezeigt wird
    Application.HelpCommand(HELP_QUIT,0);

    // Temporäre Dateien löschen
    if FileExists(LMDSysInfo1.WinPath + '\Temp\DiskManSQL.txt') then
       begin
         FileSetAttr(LMDSysInfo1.WinPath + '\Temp\DiskManSQL.txt',0000);
         DeleteFile(LMDSysInfo1.WinPath + '\Temp\DiskManSQL.txt');
       end;

    // Veränderungen am Hauptfenster speichern
    SaveDisplay;
  except
    // nichts tun
  end;
end;
  Mit Zitat antworten Zitat
franz

Registriert seit: 23. Dez 2003
Ort: Bad Waldsee
112 Beiträge
 
Delphi 5 Professional
 
#4

Re: ZV bei Benutzung von Windows Media Player 9

  Alt 30. Dez 2003, 22:30
Nachtrag:

Der abgebildete Code enthält nur noch die Teile, die vor Verwendung des Windows Media Players 9, bereits vorhanden waren. Der Assigned Teil ist nicht mehr vorhanden. Was nichts hilft muss auch nicht unbedingt drinstehen.

Nach nochmaliger sehr genauer Fehlersuche (2 Stunden), bin ich zum Entschluss gekommen, dass der Fehler weder im OnCloseQuery noch im OnFormClose Teil auftritt. Er muss also später eintreten.

Vielleicht hat jemand eine Idee.
  Mit Zitat antworten Zitat
franz

Registriert seit: 23. Dez 2003
Ort: Bad Waldsee
112 Beiträge
 
Delphi 5 Professional
 
#5

Re: ZV bei Benutzung von Windows Media Player 9

  Alt 2. Jan 2004, 22:24
Habe folgendes geschrieben:

Delphi-Quellcode:
procedure TfrmMainform.FormDestroy(Sender: TObject);
begin
  try
    TimerUpdate.Enabled := false;
    TimerTotalSize.Enabled := false;
    inherited;
  except
    // nichts tun
  end;
end;
Dadurch tritt nur noch eine Zugriffsverletzung auf. Sicherheitshalber habe ich die 2 Timer noch einmal deaktiviert, obwohl diese beim Beenden des Programms nicht mehr aktiv sein sollten.
  Mit Zitat antworten Zitat
franz

Registriert seit: 23. Dez 2003
Ort: Bad Waldsee
112 Beiträge
 
Delphi 5 Professional
 
#6

Re: ZV bei Benutzung von Windows Media Player 9

  Alt 9. Jan 2004, 07:00
Eine weniger gute Lösung!

Ich habe jetzt den Code für FormDestroy wieder gelöscht und eine Prozedur für MSMedisPlayer9.OnError geschrieben:

Delphi-Quellcode:
try
  inherited;
except
  // nichts tun
end;
Jetzt treten zwar wieder 2 Zugriffsverletzungen auf. Allerdings werden diese dem Benutzer nicht mehr angezeigt.
  Mit Zitat antworten Zitat
Benutzerbild von luwo
luwo

Registriert seit: 7. Jan 2004
Ort: Bamberg
46 Beiträge
 
Delphi XE2 Enterprise
 
#7

Re: ZV bei Benutzung von Windows Media Player 9

  Alt 12. Jan 2004, 14:11
Hallo Franz,

ich hatte auch schon öfter Probleme bei Benutzung vom MediaPlayer(ocx).
Fehlerfreier wurde es erst mit Benutzung des COM-Objekts bei "später Bindung".
Also erst zur Laufzeit COM-Klasse instanziieren und bei Beendigung des
Programms wieder vernichten.

Vielleicht hilft´s ja

luwo
  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 03:13 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