Hi,
ich hab Euch hier mal einen Auszug von meinem Code zusammengebastelt. Die "box" gehört eigentlich nicht in diesen Code, aber sie zeigt das Problem, das ich habe.
Und das ist das Folgende:
In dem Moment, in dem "new(box)" ausgeführt wird, ändert sich der Inhalt von dataTrack. Wenn ich danach der Box(ein record) auch noch Attribut zuweise, ändert er sich sogar noch stärker.
Ich hab keine Ahnung, wie das passieren kann, wenn ihr mir da weiterhelfen könntet, wär das wunderbar
Danke im Vorraus!
Gruß Max
Delphi-Quellcode:
Class function TDataStorage.CreateNewDataTrack_1D(n: Integer): PDataTrack;
var
line: PLine;
dataTrack: PDataTrack;
p: PDoubleArray;
box: PGrafXBox;
begin
new(dataTrack);
new(line);
line^.N := n;
getMem(p, n * sizeOf(Double));
fillChar(p^, n * sizeOf(Double), 0);
line^.data := p;
dataTrack^.XLine := line;
new(line);
line^.N := n;
getMem(p, n * sizeOf(Double));
fillChar(p^, n * sizeOf(Double), 0);
line^.data := p;
dataTrack^.YLine := line;
dataTrack^.dimension := 1;
Result := dataTrack;
new(box);
end;