![]() |
Probleme mit array of Record Type
Ich habe folgenden Code
Delphi-Quellcode:
TMvp und Tchardata sind records
TMvpdataarray = array of TMvp;
Tchardataarray = array of Tchardata; Diese habe ich nun zur besseren Übergabe erstellt und in eine Klasse eingebunden.
Delphi-Quellcode:
Wenn ich nun versuche Setlength oder zeromemory auf Mvpdata und Chardata anzuwenden erhalte ich eine EAccessviolation. Kennt jemand den Grund dafür und einen Weg das zu umgehen?
TRagnarokDataclass = class
private Addresses : Tdatalocation; pmvpstracked : integer; proinfocus : integer; public Mvpdata : Tmvpdataarray; Chardata : Tchardataarray; basestep : integer; jobstep : integer; constructor create(var popupmenu : Tpopupmenu); procedure updatechar; procedure LoadInis(var popupmenu : Tpopupmenu); procedure SaveInis; property mvpstracked : integer read pmvpstracked; property roinfocus : integer read proinfocus; end; Hier mal der Code beispielhaft für beides!
Delphi-Quellcode:
setlength(Chardata,0);
zeromemory(@Mvpdata,Sizeof(Mvpdata)); |
AW: Probleme mit array of Record Type
SetLength sollte funkionieren, wenn nicht, dann hast du irgendwo in deinem Code einen Fehler und hast die Arrayverwaltung zerschossen.
ZeroMemory: Du weißt aber, daß dynamische Arrays aus einem Zeiger auf dessen Daten bestehn? Egal, wenn es sogar bei deinem falschen ZeroMemory-Aufruf knallt, dann stimmt ebenfalls in deinem Code etwas nicht. Vermutung: Ist dein Objekt überhaut ordentlich erstellt worden? |
AW: Probleme mit array of Record Type
Oh gott *facepalm*
Du hast recht. Ich hatte tatsächlich einen fehler im Aufruf! Vielen dank für den Hinweis =) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:41 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