Zitat von
Der_Unwissende:
Zitat von
EWeiss:
Habe mich nun stundenlang mit der einen zeile beschäftigt
winampDSP := ReallocMem(winampDSP, i * SizeOf(PWinampDSPInfo));
bekomme immer noch den Fehler!
Dann schau einfach in die Hilfe und erkenne dass ReallocMem eine procedure ist, das winampDSP wird hier als referenz oder Call-by-value-result übergeben, jedenfalls schon geschrieben, lass also die Zuweisung davor weg.
Gruß Der Unwissende
In C++ scheint es zu funktionieren na gut.
Super das wars
Ich hätte noch viele fragen
aber erst mal die eine.
Wenn ich in VB eine Variable Deklariere dann gilt diese solange wie der Thread besteht.
Hier in Delphi stelle ich fest das obwohl sie Deklariert ist immer ein Hinweis
kommt sie wäre nicht initialisiert.
Reicht es nicht wenn sich diese als Public Decariert im Header befindet?
Delphi-Quellcode:
procedure AddDSP(winampDSP: PWinampDSPInfo);
var
a: DWORD;
DspPtrArray : PDspPtrArray;
begin
for a := 0 to winampDSPcounter do
if not Assigned(DspPtrArray^[a]) then
Break;
if a = winampDSPcounter then
begin
// no empty slot, so add a new one
ReallocMem(winampDSP, a * SizeOf(PWinampDSPInfo));
Inc(winampDSPcounter);
end;
winampDSP^.handle := winampDSPhandle;
// insert the new Winamp DSP
DspPtrArray^[a] := winampDSP;
end;
Zitat:
[Pascal Warning] BassWaDSP.pas(94): W1036 Variable 'DspPtrArray' might not have been initialized
Wie und warum muss ich diese jedesmal neu initialisieren.
Was müßte ich übergeben damit sie intitalisiert wird?
DspPtrArray^[a] := nil;
würde ja die Daten die sich im Array befinden löschen.
gruss