Wäre eine möglichkeit
Aber ganz so einach ist es nicht.
Da beim initialisieren auf keinen Fall ein Plugin ausgeführt werden darf
diese ist nur da um default Values einzulesen und die zum Plugin
gehörende class(TComponent) zu initialisieren.
Habe das mal ansatzweise versucht scheitere aber schon daran wenn das WMP
Plugin aufgerufen wird beim beenden der Anwendung Destroy nicht aufgerufen wird.
Wenn BASSVis1 aufgerufen wurde und die Anwendung beendet funktioniert das Destroy event (dort springt er rein)
Delphi-Quellcode:
function BASSVIS_Init(Kind: BASSVIS_KIND_T; AppHandle: HWND; WinHandle: HWND): BOOL; stdcall;
begin
try
ApplicationHandle := AppHandle;
FormParentHandle := WinHandle;
if Assigned(BASSVis1)then
BASSVis1.Destroy;
if Assigned(BASSWMPVis1) then
BASSWMPVis1.Destroy;
begin
case Kind of
BASSVISKIND_WINAMP:
BassVis1 := TBassVis.Create(nil);
BASSVISKIND_SONIQUE:
{ nichts zu tun };
BASSVISKIND_WMP:
BassWMPVis1 := TBassWMPVis.Create(nil);
end;
end;
finally
//
end;
result := True;
BassVisInit := Result;
end;
end.
gruss Emil