Ja, das hat einen Grund: Ich will die
DLL Funktion tatsächlich dynamisch aurufen, in diesem Beispiel, gebe ich Dir Recht, würde es auch so gehen, wie in Deinem Beispiel. Das komplette Programm ist aber wesentlich komplexer und soll beliebige
DLL Funktionen aufrufen können, deren Struktur zur Designzeit noch nicht feststeht.
Durch die Staplerei ("Stack-Schieben") habe ich den Vorteil, das ich mir quasi eine Skriptsprache bauen kann, bei der der User eigene DLLs einbinden kann und dafür eine beliebige Struktur verwenden kann, es ist also egal, ob er
Function bla(a: DWord; b: Pchar; c: Byte) : Boolean;
oder
Function blubb(a: Integer) : Integer;
....
benutzt.
Ich muss die Struktur nicht kennen und so keinen Type ("Header") anlegen.