あるOCXを作成中で、そのメソッド関数内でUNLHA32.DLLをロードしてUnlha()を呼び出そうとしています。
するとこの関数の実行中にシステムエラーを起こしてしまいます。ソースは次の通りです。
typedef int (WINAPI *LPFNUNLHA)(const HWND, LPCSTR, LPSTR, const DWORD);
short CTEST1Ctrl::Compress(LPCTSTR szCmdLine)
{
HMODULE libhandle;
LPFNUNLHA lpfnUnlha;
int rtn;
// TODO: ここにディスパッチ ハンドラ コードを追加してください。
// UNLHA32.dll 呼び出し
libhandle = LoadLibrary("UNLHA32.DLL");
if ( libhandle == NULL ) {
return 1;
}
// Unlha() 呼び出し
lpfnUnlha = (LPFNUNLHA)GetProcAddress(libhandle, "Unlha");
if ( lpfnUnlha == NULL ) {
FreeLibrary(libhandle);
return 2;
}
rtn = lpfnUnlha(NULL, szCmdLine, "C:\\TEST.TXT", 1024);
if ( rtn == NULL ) {
FreeLibrary(libhandle);
return rtn;
}
// UNLHA32.dll 呼び出し
FreeLibrary(libhandle);
return 0;
}
どこかおかしいでしょうか?なおこの OCX は ASP ファイル内で使用していまして、JavaScript からメソッド呼び出しをしています。
どういったエラーなんでしょうか?
ツイート | ![]() |