Es folgt eine Zugriffsverletzung beim Schreiben von Adresse 00000000
das klingt danach, als wenn gesamt = nil ($00000000)
procedure InitialisiereDLL(gesamt : PGesamt); export stdcall;
begin
if Assigned(gesamt) then ...Fehlerbehandlung;
GetMem(gesamt^.DataPtr, SizeOf(TData));
end;
und nochmals: dieses sieht mehr nach "Delphi Win32" aus und nicht nach .net
(wenn dem so ist, dann kannst du deinen 1. Post hier noch entsprechend -ieren)