AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Fehlermeldung bei Aufruf von WMP1:TWindowsMediaPlayer;
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldung bei Aufruf von WMP1:TWindowsMediaPlayer;

Ein Thema von Franziska_01 · begonnen am 12. Dez 2006 · letzter Beitrag vom 16. Dez 2006
Antwort Antwort
Seite 1 von 2  1 2      
Franziska_01

Registriert seit: 3. Dez 2006
Ort: Neuss
6 Beiträge
 
#1

Fehlermeldung bei Aufruf von WMP1:TWindowsMediaPlayer;

  Alt 12. Dez 2006, 19:25
Hallo!
Ich stehe vor einem Problem, welches ich nach mehreren Tagen intensiven Suchens nicht lösen konnte.
Mein, mit Delphi 5 geschriebenes Prog, mit integriertem ActiveX Windowsmediaplayer (welcher z.B. die Datei WMP.DLL braucht) läuft unter XP ohne Prob, aber unter 98, NT od. 2000 kommt es in dem Moment zum Absturz, wenn in der Type - Deklaration: WMP1: TWindowsMediaPlayer; abgearbeitet wird. Wie kann ich vorher abfragen, ob die wmp.dll existiert (oder diese nichtssagenden Fehlermeldungen umgehen))? Wie gesagt, wird create noch nicht ausgeführt.

Vielleicht hat ja jemand ne Idee.
Vielen Dank!
Frankziska
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Fehlermeldung bei Aufruf von WMP1:TWindowsMediaPlayer;

  Alt 12. Dez 2006, 19:37
Ganz offensichtlich sind in der DLL eine oder mehrere CoKlassen enthalten,
die nicht auf jedem Rechner installiert sind.
Mit folgender Funktion kann man prüfen, ob so eine CoClass vorhanden ist:
Delphi-Quellcode:
function ProgIDExists(const ProgID:WideString):Boolean;
var
   tmp : TGUID;
begin
   Result := Succeeded(CLSIDFromProgID(PWideChar(ProgID), tmp));
end;
Anwendungsbeispiel:
Delphi-Quellcode:
   if ProgIDExists('Word.Application') then
      ShowMessage('WinWord ist installiert');
   // die ProgID, die hier folgt habe ich erfunden
   // du musst die richtige ProgID einsetzen
   if not ProgIDExists('Mediaplayer.Application') then
   begin
      ShowMessage('Mediaplayer 10 ist NICHT installiert');
      application.terminate;
      Exit;
   end;
[edit=SirThornberry]Delphitags korrigiert - Mfg, SirThornberry[/edit]
Andreas
  Mit Zitat antworten Zitat
Franziska_01

Registriert seit: 3. Dez 2006
Ort: Neuss
6 Beiträge
 
#3

Re: Fehlermeldung bei Aufruf von WMP1:TWindowsMediaPlayer;

  Alt 12. Dez 2006, 19:47
Dankeschön !!! vielmals, für eine so schnelle Antwort, werde es nachher testen, schreibe dann das Ergebnis.


Franziska
  Mit Zitat antworten Zitat
12. Dez 2006, 20:44
Dieses Thema wurde von "Phoenix" von "Programmieren allgemein" nach "Multimedia" verschoben.
Ab nach Multimedia
Franziska_01

Registriert seit: 3. Dez 2006
Ort: Neuss
6 Beiträge
 
#5

Re: Fehlermeldung bei Aufruf von WMP1:TWindowsMediaPlayer;

  Alt 13. Dez 2006, 02:25
nun, das Problem für mich ist, das das Prog. schon abstürzt, bevor ich das vorhandensein einer dll abfragen kann. Der unsaubere Ausstieg wird von einer Zeile in der Type - Deklaration provoziert, bevor Form1.create erreicht wird.

Oder kann ich eine Instanz des Windowsmediamplayer auch später ableiten?

Grüße Frankziska
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Fehlermeldung bei Aufruf von WMP1:TWindowsMediaPlayer;

  Alt 13. Dez 2006, 06:51
Wenn wir den Code kennen würden, könnten wir besser helfen.
Markus Kinzler
  Mit Zitat antworten Zitat
Franziska_01

Registriert seit: 3. Dez 2006
Ort: Neuss
6 Beiträge
 
#7

Re: Fehlermeldung bei Aufruf von WMP1:TWindowsMediaPlayer;

  Alt 14. Dez 2006, 03:27
hm, vielleicht habe ich mich unklar ausgedrückt, ich versuche es nochmal:
-ich habe Delphi 5 Prof
-ich habe den Windowsmediaplayer in der Palette unter Activex hinzugefügt
-ich erstelle ein neues Projekt und eine leere Form
-ich ziehe den windowsmediaplayer von der Activex-Palette auf meine Form.

wenn ich jetzt dieses kleine (unsinnige) Prog unter xp starte ist alles ok, wenn ich es aber unter NT 98 od. 2000 starte, kommt es zu einer Fehlermeldung (es fehlt vermutlich die wmp.dll). Diese Fehlermeldung möchte ich gerne vermeiden, indem ich

type
windowsmediaplayer1 : TWindowsMediaPlayer;

erst lade, nach dem ich nachgefragt habe, ob die DLL vorhanden ist.

Wie kann ich dies am Besten machen?

Franziska
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Fehlermeldung bei Aufruf von WMP1:TWindowsMediaPlayer;

  Alt 14. Dez 2006, 06:44
Du kannst ja die Komponente zur Laufzeit erstellen. Dazu mußt du sie von der Form nehmen. Die Objektvaribale manuell in die Klassendefinition enfügen und dann im .FormCreate
Delphi-Quellcode:
    windowsmediaplayer1 := TWindowsMediaPlayer.Creat(self);
    windowsmediaplayer1.Parent := Self;
    windowsmediaplayer1.Left := ...
...
einfügen. Die Punkte stehen für das Setzen der weiteren Eigenschaften der Komponente.
Markus Kinzler
  Mit Zitat antworten Zitat
Franziska_01

Registriert seit: 3. Dez 2006
Ort: Neuss
6 Beiträge
 
#9

Re: Fehlermeldung bei Aufruf von WMP1:TWindowsMediaPlayer;

  Alt 14. Dez 2006, 07:16

Vielen Dank! das ist eine gute Lösung, dies setz ich dann in eine Fehlerbehandlungsroutine, und so kann ich schauen, ob diese Komponente initialisiert wird.

Vielen Dank für die schnelle und professionelle Hilfe

Franziska
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#10

Re: Fehlermeldung bei Aufruf von WMP1:TWindowsMediaPlayer;

  Alt 14. Dez 2006, 12:07
Es geht wahrscheinlich noch einfacher:
Das Property "AutoConnect" sollte auf False gesetzt werden.
Dann kann man die Verbindung selbst mit der Methode Connect() herstellen und Fehler abfangen.
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23: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