Zitat von
mika:
Ich bin mir nicht sicher da ich das Programm das meine
DLL aufruft nicht sonderlich gut kenne und ich halt nur weiss das es, damit man verschiedene Arten von Methoden aus DLLs aufrufen kann, nur einen Pointer übergibt.
Das kann deiner
DLL wurst sein. Wenn du sowieso einen Typecast in deinen TEST_SUB_PARAMS Typ machst, kannst du auch gleich einen Zeiger (var) auf TTEST_SUB_PARAMS als Parameter einbauen. Das ist weniger Tipparbeit und ein MOV-Befehl weniger. Der aufrufende Code hat seine eigene Deklaration, die dort vielleicht einen Zeiger erwartet, aber du akzeptierst ja auch einen Zeiger.
Zitat:
Ist zwischen stdcall und cdecl ein großer Unterschied?
Ja.
StdCall übergibt die Parameter von links nach rechts und die aufgerufene Funktion löscht sie wieder vom Stack.
Cdecl übergibt die Parameter von rechts nach links und der Aufrufer löscht sie wieder vom Stack.