LoadLibraryを使用してプラグインシステムを開発したいと思います。
私の問題は:const char*
とLoadLibrary
の機能を使用するにはLPCTSTR
が必要です。
私は明るいアイデアを(LPCSTR)path
私にモジュールが見つかりませんでしたエラーを与え続けていた。
現在のコードは以下のとおりです。 widepath = L..
行のコメントを外すと正常に動作します。私は、MFCを使用してソリューションを読んだが、私はMFCを使用しないでください。LoadLibraryでLPCTSTRを取得する
現在のコード:
bool PluginLoader::Load(char *path)
{
path = "Release\\ExamplePlugin.dll";
LPCTSTR widepath = (LPCTSTR)path;
//widepath = L"Release\\ExamplePlugin.dll";
HMODULE handle = LoadLibrary(widepath);
if (handle == 0)
{
printf("Path: %s\n",widepath);
printf("Error code: %d\n", GetLastError());
return false;
}
int (*load_callback)() = (int (*)()) GetProcAddress(handle, "[email protected]");
if (load_callback == 0)
{
return false;
}
return load_callback() == LOAD_SUCCESS;
}
Gah。ありがとう、私は遅く感じるが、私の防衛では、Aを追加することは直感的ではない。 – Ben
これは、このWebサイトが存在する理由、それは直感的ではない;-) –