Ich habe folgenden Code
Delphi-Quellcode:
TMvpdataarray = array of TMvp;
Tchardataarray = array of Tchardata;
TMvp und Tchardata sind records
Diese habe ich nun zur besseren Übergabe erstellt und in eine Klasse eingebunden.
Delphi-Quellcode:
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;
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?
Hier mal der Code beispielhaft für beides!
Delphi-Quellcode:
setlength(Chardata,0);
zeromemory(@Mvpdata,Sizeof(Mvpdata));