Ich hab eine dll-Datei erstellt.
Wenn ich eine Funktion daraus mit DllCall aufrufe, stürzt das Programm am Ende der Funktion ab.
Es wird noch die aufgerufene Funktionrichtig durchgeführt.
Wenn ich die dll mit einem C++-Programm aufrufe gibt es keinen Fehler. Deswegen sollte die dll eigentlich in Ordnung sein.
Mein Skript:
[autoit]DllCall("GBX.dll" , "none", "WriteGBXIni", "str","Testung.ini", "str", "L.Gbx")
[/autoit]C++Programm:
Spoiler anzeigen
C
#include <iostream>
#include <windows.h>
typedef void (*WriteGBXIni)(char*, char*);
int main()
{
WriteGBXIni _WriteGBXIni;
HINSTANCE hInstLibrary = LoadLibrary("GBX.dll");
if (hInstLibrary)
{
_WriteGBXIni = (WriteGBXIni)GetProcAddress(hInstLibrary, "WriteGBXIni");
if (_GetAuthor)
{
_WriteGBXIni("Test.ini", "L.Gbx");
}
FreeLibrary(hInstLibrary);
}
else
{
std::cout << "DLL Failed To Load!" << std::endl;
}
std::cin.get();
return 0;
}
Alles anzeigen
Aufgerufene Funktion :
Code
__declspec(dllexport) void WriteGBXIni(char* INIname, char* GBXname)
{
//Inhalt ist unwichtig, da hier alles richtig geht.
}
Weiß irgendjemand, was ich da machen kann?
Die dazu benötigen Dateien hab ich angehängt.