hab dabei diverse Quellen und auch die Delphi-Demos verwendet die der bass.zip (version 2.4) beiliegen.
Habe auch versucht diesen Player zu portieren
http://www.gausi.de/memp.html
was letztlich erfolgreich war.
Wo es mir aber massiv an Verständnis fehlt ist der Zeitpunkt des Ladens der bass.dll, bzw wird das bei vielen Beispielen gar nicht erst extra gemacht, und über solche Funktionen (wie auch von Winni vorgeschlagen viewtopic.php?f=25&t=13024&p=115438&hil ... ll#p115438) gelöst:
Code: Alles auswählen
procedure TMeMPPlayer.InitBassEngine(HND: HWND);
begin
if (HIWORD(BASS_GetVersion) <> BASSVERSION) then
MessageDLG('Bass '+BASSVERSIONTEXT+' nicht gefunden', mtError, [MBOK], 0);
{$IFDEF LINUX}
BASS_Init(-1, 44100, 0, @H, nil);
{$ELSE}
BASS_Init(-1, 44100, 0, HND, nil); /// !!! Bei Windows ohne Pointer, nur Handle
{$ENDIF}
end;
Code: Alles auswählen
function Load_BASSDLL(const dllfilename : String) :boolean;
{$IFDEF MSWINDOWS}
var oldmode : integer;
{$ENDIF}
begin
if BASS_Handle <> 0 then
Result:= true
else
begin
{$IFDEF MSWINDOWS}
oldmode := SetErrorMode($8001);
{$ENDIF}
{$IFDEF UNICODE}
BASS_Handle:= LoadLibraryW(PWideChar(dllfilename));
{$ELSE}
BASS_Handle:= LoadLibrary(PChar(dllfilename));
{$ENDIF}
{$IFDEF MSWINDOWS}
SetErrorMode(oldmode);
{$ENDIF}
// dazwischen einiges an Prüfprozeduren
Result:= (BASS_Handle <> 0);
end;
end;
Die andere Mezhode hab ich noch nicht wirklich zum Laufen gebracht.
Ich würde gerne die bass.dll in ein eigene Verzeichnis pachen samt allen anderen für bass nötigen dlls.
Wie gehe ich da intelligent vor ?