Funktionsaufruf einer DLL mit char Parameter

Hallo,

habe ein kleines Problem mit dem Aufruf einer selber geschriebenen Funktion in einer DLL.
BOOL Loggen(LPSTR,long);

Importiere die Funktion folgendermaßen in C:
Code:
typedef void (CALLBACK* LOGGEN) (char&, int);
LOGGEN Loggen;

und der Aufruf:
Code:
char LogFile[MAX_PATH] = {"C:\\log.txt"};
Loggen(LogFile,0);

Wenn ich die Funktion über die Exe aufrufe stürzt das Programm ab.
Führe ich die Funktion jedoch in der DLL selber aus funktioniert es.
Was ist der Grund für diesen Fehler

Ach ja in der DEF Datei habe ich die zu exportierende Funktion so defininiert:
Code:
EXPORTS	Loggen

Noch eine Frage: Muß man beim Exportieren von Funktionen die Parameter in der
DEF mit angeben? Konnte darüber nichts finden :confused:.

Danke.
 
Sollte der erste Parameter nicht char* sein? (oder noch besser, const char*)

Ich meine, mit der Referenz bekommst du nur die Referenz auf das erste Zeichen in die DLL.
 
Zurück