掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VCで作ったdllをVBで実行すると (ID:58852)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
直接関係ないけど、 > if ((fp1 = fopen(filename, "r")) == NULL) { > TextOut(hDC,10,10,"r file open error!!",17); > exit(1); > } BeginPaint関数で、文字を描くよというふうに宣言しなくてもいいのでしょか。。。 私ですと、 > _declspec(dllexport) void _stdcall AveBrightMain(HDC hDC,char *filename){ ではなくて、 _declspec(dllexport) HRESULT _stdcall AveBrightMain( LPCSTR filename ) にして、戻り値としてどんなエラーがあったかを返すほうがいいかと思います。 メッセージが動的に変わるのならば、 _declspec(dllexport) HRESULT _stdcall AveBrightMain( LPCSTR filename, LPCSTR errormsg ) または _declspec(dllexport) HRESULT _stdcall AveBrightMain( LPCSTR filename, VARIANT* errormsg ) みたいにします。 細かいですが、 > len=strlen(s); > if(s[len-1]=='\n'){ > s[len-1]='\0'; > } len == 0 の場合これだとよろしくなさそうなので、 char* nl = strchr( s, '\n' ); if ( nl ) n1 = '\0'; のようにしたほうがいいです。 > 一応、問題をはっきり切り分けるために、VBからではなく、dllの利用側もVCにして再現 > するかを確認するという手はあると思います。 には賛成です。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.