Ja das dachte ich mir schon, und bin auch fündig geworden. Es sind die Strings im Packed-Record des offenen Arrays, die Probleme machen. Wenn ich diese entferne, kann ich das Array beliebig erweitern und es tritt keinerlei Absturz auf.
Dass man Strings nicht verwenden sollte als Austausch zwischen
DLL und MainApp, habe ich schon öfter gelesen. Aber gleichzeitig las ich etwas von Ansichar.
Wäre denn folgende String-Alternative besser geeignet?
Delphi-Quellcode:
type SingleDataSet = packed record
DataSetNr : Byte;
DataSetName : Array [0 .. 255] of Ansichar;
DataSetValue : Integer;
end;
Oder wirklich komplett verzichten?