![]() |
Statisches Array in dynamisches kopieren.
Gibt es eigentliche eine elegante Lösung um ein statisches in ein dynamisches Array zu kopieren? Ich setze zuerst die Größe des dynamischen Arrays auf die des statischen und kopiere dann alles über eine Schleife. Das sind zwei Schritte und zwei Zeilen. Trotzdem, gibt es da evtl. etwas eleganteres?
|
AW: Statisches Array in dynamisches kopieren.
|
AW: Statisches Array in dynamisches kopieren.
Man muß nur mit dem Startindex aufpassen:
Delphi-Quellcode:
Wünsche euch allen auch einen guten Rutsch.
SetLength(Dest, Length(Source));
Move(Source[Low(Source)], Dest[0], SizeOf(..) * Length(Source)); |
AW: Statisches Array in dynamisches kopieren.
Was ist denn in dem Array?
Bei einfachen Typen, wie Integern, geht es, aber z.B. mit Strings würde man sich damit die Referenzzählung zerschießen und womöglich noch ein wunderschönes Speicherleck erschaffen. System.FinalizeArray auf das Ziel und dann System.CopyArray (auch wenn es Array heißt, nimmt man die Funktion auch für einzelne Records, mit der Array-Länge 1) PS: ![]() ![]() Auch wenn man total vergessen hat, diese Funktion wie oben genannt "sicher" zu machen. :wall: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz