Das geht doch einfacher:
Dest := PByte(Dest) + Size - 1;
Das geht mit Delphi 5 nicht: Operator ist auf diesen Operandentyp nicht anwendbar.
Zitat:
Und ich würde die Parameter gleich als PByte deklarieren, dann ist der Typecast auch nicht mehr notwendig.
Ja und nein. Im konkreten Fall wäre es zwar ausreichend und würde vielleicht sogar besser zum Funktionsnamen passen. Andererseits kann man als Pointer ja alles mögliche übergeben. Überladung der Funktion - einmal mit PByte und einmal mit Pointer - geht auch nicht, weil doppeldeutig.
Primär geht's mir um die Frage der Korrektheit, also ausreichende Speicherreservierung, kein Lesen über die Grenzen, keine Speicherlecks und sowas, da ich bisher nie ein Array of bytes umkehren musste. Optimierungen sind sekundär.
Aber wenn ich die Antworten richtig deute, liege ich wohl nicht verkehrt. Dankeschön an alle
.
Grüße
Dalai