Zitat von
marabu:
Du musst diesen Zeiger tatsächlich vor seiner ersten Verwendung initialisieren, indem du ihm den Wert des Zeigers winampDSP (so war der Name der globalen Variablen im C++ Code) zuweist. Nur so wird schließlich die Redefinition des Speicherbereichs erreicht, damit du über array[index] zugreifen kannst.
marabu
Delphi-Quellcode:
procedure AddDSP(winampDSP: PWinampDSPInfo);
var
a: DWORD;
begin
a := 0;
DspPtrArray^[a] := winampDSP;
for a := 0 to winampDSPcounter do
if not Assigned(DspPtrArray^[a]) then
Break;
if a = winampDSPcounter then
begin
// Array nicht leer, füge ein neues hinzu
ReallocMem(winampDSP, a * SizeOf(PWinampDSPInfo));
Inc(winampDSPcounter);
end;
winampDSP^.handle := winampDSPhandle;
// addiere ein Winamp DSP Plugin zum Array
DspPtrArray^[a] := winampDSP;
end;
wäre es so richtig?
Zumindest kommt kein fehler mehr.
Eine Frage nebenbei.
Kann ich hier im Thread weiter machen oder muss ich für jede Frage einen neuen aufmachen?
gruß ..