- 343 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 19:21:30 ]
- MinGWにて作成したDLLをVC++にて呼び出そうと下記のようなソースをコーディングしました。
DLL作成側で生成したポインタのハンドラを呼び出し側に渡そうと 引数にて受け渡ししようとしていますが、 呼び出し側で確認をすると、ハンドラの値は0のままです。 DLL連携をすると引数受け渡しは不可能なのでしょうか? ■DLL作成側(MinGW) ●cpp extern "C" __declspec(dllexport) int __stdcall GeoOpen(char* chrLicence, char* chrGeoDBDir, char* chrNormalize, long* lngHandler) { Geo *geo = new Geo(); lngHandler = (long*)geo; return 1; } ■DLL呼び出し側(VC++) ●h typedef int (__stdcall *GEOOPEN)(char*, char*, char*, long*); ●cpp GEOOPEN geoOpen = (GEOOPEN)GetProcAddress(hGEOCODERDLL, "GeoOpen@16"); long* lngHandler; if (geoOpen != NULL) { int intRes = (*geoOpen)(chrLicence, chrGeoDBDir, chrNormalize, lngHandler); }
|

|