Offensichtlich ist's doch haariger ...
Die Strukturen sehen wie folgt aus - im Original nur etwas länger, aber nur mit PChars, LongInts und Doubles:
Delphi-Quellcode:
TTarifEingabe = packed record
tarifname: PChar;
tarifkennung: PChar;
geburtsdatum: PChar;
geschlecht: LongInt;
versicherungsbeginn: PChar;
beitrag: Double;
waehrung: LongInt;
beitragszahlungsweise: LongInt;
end;
Die ersten beiden Parameter für die Funktion nennen sich TarifEingabe und TarifAusgabe. Der dritte Parameter sollte dann der Status sein, da ich einen solchen Status erhalte, nicht jedoch in den Strukturen selbst.
Mein Aufruf schaut wie folgt aus - die Belegung der Felder habe ich hier für diesen Beitrag weggelassen, aber wie es scheint, sollte ich als nächstes versuchen, für jeden der PChars Speicher zu reservieren.
Delphi-Quellcode:
procedure MachWas;
var TEin : TTarifEingabe;
TAus : TTarifAusgabe;
stat : longint;
begin
FillMemory( @TEin, SizeOf(TTarifEingabe), 0 );
FillMemory( @TAus, SizeOf(TTarifAusgabe), 0 );
calcFonds( TEin, TAus, stat );
end;
Daniel R. Wolf
mit Grüßen aus Hamburg