Code: Alles auswählen
const
max = 1000;
type
TVector = array[0..2] of GLfloat;
PHalbZylinder = ^THalbZylinder;
THalbZylinder = array[0..max] of TVector;
var
fHalbZylinderVectoren: THalbZylinder;
fPHalbZylinderVectoren: ^THalbZylinder;
procedure TForm1.InitScene;
var
i: integer;
begin
fHalbZylinderVectoren := BerechneHalbZylinder; // Lädt Array mit Werten.
New(fPHalbZylinderVectoren);
for i := 0 to Length(fHalbZylinderVectoren) - 1 do begin
fPHalbZylinderVectoren^[i] := fHalbZylinderVectoren[i];
end;
WriteVectoren(fHalbZylinderVectoren); // Ausgabe kommt richtig.
WriteVectoren(fPHalbZylinderVectoren^); // Gibt eine Schutzverletzung.
end;
procedure WriteVectoren(var Vector: array of TVector);
begin
.......
Application.MessageBox(PChar(IntToStr(Length(Vector))), 'Vectoren', 0);
end;
.....
Dispose (fPHalbZylinderVectoren); // bei Programmende
.....