OK. Ich nehme alles zurück und behaupte das Gegenteil.
Ich bin über den Lazarus Debugger gestolpert. Der gibt bei mir im Falle von dyn Arrays Müll aus.
Der eigentliche Fehler war eine Variable in einer Klasse, die den gleichen Namen hatte wie der Name einer variablen in einer Methode der Klasse ...
Die Suche ergab 4 Treffer
- Fr 5. Nov 2010, 17:28
- Forum: Freepascal
- Thema: @ Operator bei dynamischem Array
- Antworten: 5
- Zugriffe: 2799
- Fr 5. Nov 2010, 15:49
- Forum: Freepascal
- Thema: @ Operator bei dynamischem Array
- Antworten: 5
- Zugriffe: 2799
Re: @ Operator bei dynamischem Array
Ja allerdings. Hätte aber erwartet dass @dynArray = @dynArray[0] -8 ist.
Ist aber eine ganz andere Adresse. Das hat mich zuerstmal verwirrt. Trotzdem hätte der Code mit @dynArray[0] funktionieren sollen.
Ist aber eine ganz andere Adresse. Das hat mich zuerstmal verwirrt. Trotzdem hätte der Code mit @dynArray[0] funktionieren sollen.
- Fr 5. Nov 2010, 15:27
- Forum: Freepascal
- Thema: @ Operator bei dynamischem Array
- Antworten: 5
- Zugriffe: 2799
Re: @ Operator bei dynamischem Array
TYPE
TXY = RECORD
X,Y : LONGINT;
END;
TArrXY = ARRAY OF TXY;
....
FUNCTION TGDSstream.GetXY : TArrXY;
BEGIN
SetLength(Result,Anz DIV 8);
gzread(GDSFILE,@result[0],Anz);
END;
OK, so sollte es sein.
In das dynamische Array (Result) Ergebnis der Funktion sollten Koordinaten aus dem stream ...
TXY = RECORD
X,Y : LONGINT;
END;
TArrXY = ARRAY OF TXY;
....
FUNCTION TGDSstream.GetXY : TArrXY;
BEGIN
SetLength(Result,Anz DIV 8);
gzread(GDSFILE,@result[0],Anz);
END;
OK, so sollte es sein.
In das dynamische Array (Result) Ergebnis der Funktion sollten Koordinaten aus dem stream ...
- Fr 5. Nov 2010, 14:57
- Forum: Freepascal
- Thema: @ Operator bei dynamischem Array
- Antworten: 5
- Zugriffe: 2799
@ Operator bei dynamischem Array
Beim Versuch einProgramm von Delphi nach FPC bin ich auf folgendes Problem gestoßen.
Evtl. kennt das ja jemand
TYPE
TXY = RECORD
X,Y LONGINT;
END;
TArrXY = ARRAY OF TXY;
FUNCTION TGDSstream.GetXY : TArrXY;
BEGIN
SetLength(GetXY,Anz DIV8);
gzread(GDSFILE,@GetXY[0],Anz);
END;
Funktioniert nicht! in ...
Evtl. kennt das ja jemand
TYPE
TXY = RECORD
X,Y LONGINT;
END;
TArrXY = ARRAY OF TXY;
FUNCTION TGDSstream.GetXY : TArrXY;
BEGIN
SetLength(GetXY,Anz DIV8);
gzread(GDSFILE,@GetXY[0],Anz);
END;
Funktioniert nicht! in ...