HAMLOG開発室は、HAMLOGに関連したプログラム開発(C、パスカル、VB言語等、又はDLL)についての
専用BBSです。プログラム言語に関する投稿以外は通常のHAMLOG相談室に投稿して下さい。
HAMLOG開発室BBS

Re: VC++ Run-Time Check Failure #0 投稿者:JG1MOU浜田

>  C++系はポインターを自由に使えるので便利なんですが。バグも出やすいのですね。DLLの動的リンクとかの手法で何とか動きそうなのですが、何かスマートでない気がするのと、何か問題がありそうで気分が良くないのですね。

Hamlog50.dllは昔ながらのShift-JISで、VC++はUnicode という違いが
あるかと思いますが、その辺の型の宣言やキャストをうっかりすると、
バグってしまうかと思います。
まぁ、それは十分にご承知のことと思いますが。

動的リンクならOKということは、インポートLIBに問題ありでしょうか。
なお、関数の型は、__cdeclではなく__stdcallで宣言してます。
確か、Borland C++では、
#define WINAPI __stdcall  だったような。。。

スタックに渡す順序が逆になるのでしょうね。

ちなみに、私の場合、VC++は大昔のVC++ 5.0使ってます。Hi

こんな宣言になってますが。。。Borland C++ 5.0
int WINAPI __export HamlogOpen( 
  int WINAPI (* func)(char *), // NULLでOK
  TThLog *,
  const char *, // HAMLOG.MST
  const int)

2014/09/29(Mon) 21:52:20  [No.577]


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)
- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
Call 名前 ※必須
文字色
Eメール
タイトル sage
URL
メッセージ 手動改行 強制改行 図表モード
メッセージには上記と同じURLを書き込まないで下さい
画像File  (130kBまで)
暗証キー (英数字で8文字以内)
投稿キー (投稿時 投稿キー を入力してください)
プレビュー