掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DLL内の関数を使用して機器を制御 (ID:48905)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
レスありがとうございます。 うまくいかない状況は、関数を実行したときの戻り値に「パラメータ値異常、もしくはNAK応答です。」というエラー値が返ってきて機器の日付時刻の設定がされません。 outRespには値が返ってきているので他のパラメータが原因のような感じなのですが... >RESBASEだけpacked recordになっていますが、ほかのレコード型もpacked recordにしてみたらどうでしょうか? >(この手のAPIでは一般的に構造体アライメントは1のことが多いと思います) やってみましたが変わらないようです。(全てpackedを外してみても同じ結果でした。) >あとDelphiは2009以降でターゲットのDLLはANSI版で間違いないですか? DelphiはXE5です。 DLLがANSI版かどうかをメーカーに確認してみます。 (元の関数のパラメータがLPCSTRとなっていたのでDelphiでもそのまま書いて、関数にカーソルを合わせたときにパラメータの型がPAnsiCharと表示されていたのでそのまま書いていました。) ちなみにPCharで指定してみても同じ結果でした。 >これ以外のレコード型の定義には問題はなさそうです。ただSetDateを呼び出すときに構造体の領域を >GetMemで取得していますが、これは通常のローカル変数で構いません。 すっきり書けるんですね。ありがとうございます。このようにいたします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.