Forum: Programmieren allgemein
Delphi
by himitsu,
2. Mär 2018
Selbst wenn beides dynamische Arrays wären, ginge es nur, wenn SizeOf(DasArray) bei Beiden identisch wäre und wenn die Felder eine kompatible Speicherverwaltung haben.
TArray<TSmallPoint> und TArray<Small> können also nicht kompatibel sein.
Aber da der "Inhalt" beider Arrays aus vielen "Small" besteht, dann
SetLength(meta, Length(xy) * 2);
Move(meta, xy, Length(meta) * SizeOf(Small)); //...
Forum: Programmieren allgemein
Delphi
by himitsu,
2. Mär 2018
Short(pXY) kann nicht gehn, denn Short = 2 Byte und Pointer sind 4 oder 8 Byte.
Bei so einem Cast muß der Compiler meckern.
Was ist in dem pXY gespeichert?
Wenn das keine Zeiger auf ein "dynamisches" Array ist, dann kannst/darfst du niemals das in ein dyn. Array casten.
In ein statisches Array ginge es (einen Zeiger auf ein statisches Array), denn da gibt es keine zusätzlichen...