Zitat von
Desmulator:
Ich hab jetzt mal das String durch PChar ersetzt.
Wer gibt den PChar frei? Zeigt der PChar vielleicht noch auf einen temporären String der auf dem Stack liegt und somit beim Rücksprung nicht mehr gültig ist? Lauter Fragen, die du dir beantworten solltest.
Zitat:
Meine Frage ist jetzt, ob es nicht möglich wäre, eine Funktion zum beenden des Aufrufs, wie oben zu erstellen, in der LastError gesetzt wird, ein Rückgabewert gesetzt werden kann und die Funktion, die Aufgerufen wurde beendet wird.
Wenn du deine Funktion mit der
cdecl Aufrufkonvention deklarierst, keine managed Datentypen (String, dyn. Array, Variant, Interface) und keine try-Blöcke verwendest, dann könnte man da schon was mit Assembler-Code machen. Aber ich bezweifle dass das dem Code gut täte.