VLC ActiveX-Komponete in MFC Projekt unter VS 2008



  • Hallo

    Wieder habe ich mal eine Frage.
    Ich habe gerade versucht in einer CDialog Anwendung das VLC_ActiveX V2 zu verwenden. Unter VC6 war das überhaupt kein Problem.
    Reinbekommen habe ich es, eine Membervariable abgeleitet und dann wollte ich es zum Apspielen bewegen.
    Laut Doku soll dies über Playlist.Play funktionieren. Nur finde ich bei der Membervariablen keine "Playlist" und schon gar kein Play.

    OK, unter vc6 war das ganze mit .GetPlaylist() usw zu finden. aber unter VS 2008 mit MFC finde ich auch dies nicht.

    Als ich es unter VS2008 in einer .Net Anwendung versucht habe, waren die aufrufe korrekt da (.playlist.play usw).

    Ich hoffe mir kann irgendjemand helfen. Wieso ist das in jedem projekt anders???



  • klsc schrieb:

    das VLC_ActiveX V2

    Was macht das denn? 'Ne Rakete abfeuern?! 😃



  • NEIN - 2 🙂

    na Teile der Funktionalität des VLC-Players über ne ActiveX-Schnittstelle anbieten, damit man es in eigene Programme einbinden kann.



  • Also für Leute, welche es interessieren könnte.

    ich habe unter VC6 ein neues MFC projekt gemacht. VLC ActiveX eingebunden und siehe da, es wurde etliche Klassen erzeugt.
    Zwar heißen die Funktionen nicht wie in der VLC-Doku z.B. member.playlist... sondern member.GetPlaylist().add(...

    Dieses Projekt habe ich dann in Visual Studio 2008 geöffnet und nun waren die Funktionen auch dort vorhanden.

    Wieso funktioniert das Einbinden des ActiveX-Controls unter VS2008 und MFC nicht korrekt?
    Unter VS2008 und WindowsForms Projekten mit .net funktioniert es ja, und das mit den Korrekten Funktions-Bezeichnungen.

    naja, Problem vorerst umgangen



  • Hallo,

    Wieso funktioniert das Einbinden des ActiveX-Controls unter VS2008 und MFC nicht korrekt?

    Wahrscheinlich hast du es so gemacht, wie hier:

    http://msdn.microsoft.com/en-us/library/0eck67z5.aspx

    beschrieben. Da steht dann auch ein Verweis auf eine Vorgehensweise, die zur Generierung der "wrapper class" führt.

    Welche Möglichkeit es noch gibt, steht hier:

    http://msdn.microsoft.com/en-us/library/29e5k9by.aspx

    Da wird auch darauf hingewiesen, dass die Klassen nicht immer automatisch erzeugt werden.

    MfG,

    Probe-Nutzer



  • also ich hab jetzt einiges probiert, auch mfc klassen vom activex hinzufügen...
    das ergebnis ist immer das gleiche, ich erhalte klassen für den vlc in welchen es z.b. die funktion get_playlist() gibt, aber danach fehlen funktionen.
    eigentlich sollte es member.get_playlist()->add( oder member.get_playlist()->play() oder member.get_playlist()->stop() geben aber die sind nicht da. nur andere die alle nicht die alle nicht die übergabeparameter haben wollen, die nötig sind.

    wieso ist das unter vs2008 so kompliziert und fehlerhaft geworden?

    hast noch jemand eine idee???



  • irgendwie hab ich das gefühl es fehlen noch "unterklassen"
    wenn ich in das vc6 projekt gucke, sehe ich etliche klassen. darunter eine für die playlist, welche ich ja zum abspielen benötige.
    wenn ich aber über das menü projekt-klasse hinzufügen-mfc klasse von activex-steuerelement mache, wird immer nur eine Klasse erzeugt. wie komme ich an die nötigen "unterklassen" des activex controls?

    wenn ich beim hinzufügen von mfc klassen für activex-steuerelemente nicht die registrierten auswähle, sondern die axvlc.dll aus dem programm ordner, sehe ich mehrere einträge auf der linken seite unter anderem IVLCPlaylist - jippi

    aber will ich dafür eine klasse hinzufügen, also auf die rechte seite in diesem assistenten dialog bringen, kommt folgende fehlermeldung:

    ---------------------------
    Microsoft Visual Studio
    ---------------------------
    Cannot find coclass for interface IVLCPlaylist
    ---------------------------
    OK
    ---------------------------

    schade, zu früh gefreut 😕


Anmelden zum Antworten