![]() |
[COM] Events benutzen (Client) - MediaMonkey
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo,
ich versuche derzeit ein kleines Programm zu schreiben welches den Status des MediaMonkeys ausliest. Dieser bietet sogar Events an. Dokumentation der COM Interfaces: ![]() Code der Form:
Delphi-Quellcode:
Die TLB.pas und den Sink habe ich mal angehängt.
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. 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... |
Re: [COM] Events benutzen (Client) - MediaMonkey
*PUSH in 5 Stunden*
Also bisher habe ich es jetzt mit Polls realisiert aber dann machts *blitz* und *blink* und das ist nicht schön :( |
Re: [COM] Events benutzen (Client) - MediaMonkey
*PUUUUUUUUUUUUUUUSH*
|
Re: [COM] Events benutzen (Client) - MediaMonkey
*PUSH*
Ich habe immer noch nen Poll. Aber wie kann man diese verdammten Events benutzen... :( . |
Re: [COM] Events benutzen (Client) - MediaMonkey
Zuersteinmal: Ich hab eigentlich keine Ahnung!
Ich habe trotzdem mal in die TBL gesehen und mir ist aufgefallen, dass es sich bei ISDBApplication nur um ein interface handelt. Es gibt da auch noch eine Klasse TSDBApplication, die deine Events als TNotifyEvent anbietet. Vielleicht kannst du direkt mit dieser Klasse arbeiten. |
Re: [COM] Events benutzen (Client) - MediaMonkey
Stimmt Danke!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz