Einzelnen Beitrag anzeigen

Benutzerbild von MSSSSM
MSSSSM

Registriert seit: 18. Apr 2008
223 Beiträge
 
Delphi 7 Professional
 
#1

[COM] Events benutzen (Client) - MediaMonkey

  Alt 16. Nov 2008, 19:40
Hallo,

ich versuche derzeit ein kleines Programm zu schreiben welches den Status des MediaMonkeys ausliest.
Dieser bietet sogar Events an.
Dokumentation der COM Interfaces: http://www.mediamonkey.com/wiki/inde...SDBApplication

Code der Form:
Delphi-Quellcode:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,SongsDB_TLB,SongsDBEvents, StdCtrls, ComCtrls, XPMan;

type
  TfrmMediaMonkey = class(TForm)
    lstPlaylist: TListView;
    Button1: TButton;
    lblPlaylist: TLabel;
    btnStop: TButton;
    lblStatus: TLabel;
    XPMani: TXPManifest;
    procedure FormCreate(Sender: TObject);
    procedure GetStatus;
    procedure OnMMStatusChanged(Sender:TObject);
  private
    { Private-Deklarationen }
    MM:ISDBApplication;
    MMEvents:TSongsDBISDBApplicationEvents;
  public
    { Public-Deklarationen }
  end;

var
  frmMediaMonkey: TfrmMediaMonkey;

implementation

{$R *.dfm}

procedure TfrmMediaMonkey.FormCreate(Sender: TObject);
begin
MM:=CoSDBApplication.Create;
MMEvents:=TSongsDBISDBApplicationEvents.Create;
MMEvents.OnPlay:=OnMMStatusChanged;
MMEvents.OnPause:=OnMMStatusChanged;
MMEvents.OnStop:=OnMMStatusChanged;
MMEvents.Connect(MM);
GetStatus;
end;

procedure TfrmMediaMonkey.OnMMStatusChanged(Sender:TObject);
begin
  ShowMessage('Status changed');
  GetStatus;
end;

procedure TfrmMediaMonkey.GetStatus;
var Status:string;
begin
  Status:='';
  if MM.Player.isPlaying then
    Status:=Status+'Playing'+sLineBreak
  else
    Status:=Status+'Stopped'+sLineBreak;
  if MM.Player.isPaused then
    Status:=Status+'Paused'+SlineBreak;


  lblStatus.Caption:=Status;
end;

end.
Die TLB.pas und den Sink habe ich mal angehängt.

Problem:
Die Events werden nicht ausgelöst...
Wie muss ich das machen, damit die Events ausgelöst werden?

MSSSSM

P.S.: Ja, ich weiß die private Symbole (?) sollten mit F beginnen...
Angehängte Dateien
Dateityp: pas songsdbevents_110.pas (13,5 KB, 4x aufgerufen)
Dateityp: pas songsdb_tlb_717.pas (825,5 KB, 6x aufgerufen)
Dateityp: zip fake_mm_133.zip (267,0 KB, 1x aufgerufen)
Marius
  Mit Zitat antworten Zitat