Forum: Object-Pascal / Delphi-Language
Delphi
by Blup,
27. Mär 2009
ASize wird in MoveElements als (Anzahl der zu verschiebenden Elemente) * SizeOf(Element) angenommen.
Ich habe aber vorgeschlagen MoveContent so zu verändern, dass nur die Anzahl der Elemente übergeben wird.
Das ist für die Verwendung einfacher und an einer zentralen Stelle kann so leicht die Überprüfung auf fehlerhafte Parametern erfolgen.
Forum: Object-Pascal / Delphi-Language
Delphi
by Blup,
11. Mär 2009
Das könnte so aussehen:
procedure MoveElements(var Source, Dest; ASize: DWord);
var
BufferSize: DWord;
Buffer, P1, P2: Pointer;
begin
P1 := @Dest;
P2 := @Source;
if DWord(@Source) < DWord(@Dest) then
Forum: Object-Pascal / Delphi-Language
Delphi
by Blup,
9. Mär 2009
Move sollte man in Verbindung mit Variablen deren Inhalt eine Referenzzählung erfordert nicht einsetzen.
Das betrifft insbesondere Daten die Strings oder Interface enthalten.