Entwickler-Ecke

Dateizugriff - Variablenparameter an DLL übergeben


HenryHux - Do 12.05.11 15:52
Titel: Variablenparameter an DLL übergeben
Hi,

ich versuche Folgende Funktion einer DLL aufzurufen


Delphi-Quelltext
1:
procedure Test(S: Stringvar Int : Integer);                    


Der String wird richtig übergeben, der Integerwert jedoch nicht.
Versucht man ihn aufzurufen bekommt oder zu ändern bekommt man eine Zugriffsverletzung an der Adresse 00000000.
Übergebe ich allerdings anstatt eines Variablenparameters ein Werteparameter, klappt es.
Ich würde ansonsten eine Funktion schreiben, doch übergebe ich mehrere Integers.
Wenn ich auf die Variable aus dem Hauptprogramm unmittelbar vor dem Aufruf der Procedur zugreife, kommt keine Fehlermeldung.
Hat jemand eine Idee, wodran das liegen könnte?

lg


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Do 12.05.2011 um 17:58


jaenicke - Do 12.05.11 16:23

Dein größtes Problem ist, dass du einen String übergibst. :shock:
Theoretisch geht das zwar mit der Krücke ShareMem, aber mach es besser gleich sauber und übergib einen PChar.

Die andere Sache:
Welche Aufrufkonvention benutzt du? stdcall wäre üblich.


HenryHux - Do 12.05.11 17:27

Danke, der String war das Problem.

lg