Irgendwie bekomme ich das nicht gebacken.
Delphi-Quellcode:
// Returns the name of a loaded Winamp DSP plugin
function BASS_WADSP_GetName(plugin: HDSP): LPTSTR; stdcall;
Var
strRet: PChar;
winampDSP: WINAMPPLUGINPROPDSP;
begin
strRet := nil;
winampDsp := GetDSP(plugin);
if winampDsp <> nil then
begin
strRet := winampDsp^.pModule^.description;
end;
Result := strRet;
end;
In BASS_WADSP_Load und AddDSP klappt jetzt alles bis in der obigen GetName funktion
wenn ich von dort aus in winampDsp := GetDSP(plugin); springe
Delphi-Quellcode:
function GetDSP(
handle: DWORD): WINAMPPLUGINPROPDSP;
stdcall;
var
a: DWORD;
winampDSP: WINAMPPLUGINPROPDSP;
begin
if not handle <> 0
then
Result :=
nil;
for a := 0
to winampDSPcounter
do
winampDsp := Winamp_DSP^[a];
if (winampDSP <>
nil)
and (winampDSP^.handle =
handle)
then
begin
Result := winampDsp;
end else
Result :=
nil;
end;
werden mir bei der ausgabe Result := winampDsp; komplett andere Werte angegeben
so als wenn die letzen aufrufe nicht mehr existieren würden.
gruß