Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#8

Re: Dynamisches Array oder Klasse als Array auslegen

  Alt 23. Sep 2006, 15:49
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
  Mit Zitat antworten Zitat