• ベストアンサー

VB6.0を使用したDLLコールについて

はじめまして。宜しくお願いします。 現在VB6.0で開発を行っています。 ExeからDLL(1)をコールして、そこからDLL(2)をコールする流れのPGですが、DLL(1)からDLL(2)をコールする所で以下のようなエラーが発生してしまいます。”5 プロシージャの呼び出し、または引数が不正です” レジストリへの登録は行われています。 また、引数はないメソッドをコールしているので引数が原因ではないかと思います。 現在お手上げ状態です。ちょっとしたことでもかまいません。アドバイスお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • comucom
  • ベストアンサー率53% (17/32)
回答No.1

EXEにしたら動かないのか、ソースレベルでも動かないのか、DLLが市販か、自作か、がわからないので、全部まとめて考えてみます。 EXEにして、とある環境のみ、ということであれば、 良くあるのが、レジストリ登録の不正、バージョンの不一致(上位互換はしますが、下位互換はしません)です。 また同一の名前で、別内容のDLLがあったりする場合、当然動きません。(DLL自作の場合、たまにやってしまうことがあります) 作成過程において、ということですと、DLLインスタンスが正しく作成されていないという場合があります。 これはソースレベルでデバッグしていけばわかります。 DLL自体を自作しているのであれば(CやActiveXなど)コンパイル時に従来のものと互換を保っていない可能性があります。 あとはホントにソースコードの不正ですね。これもソースレベルでデバッグしていけばわかります。 たとえばOnErrorトラップ。 思ってもいないところに飛んでいくことがあります。 どのラインででているのかを正確に把握するところからはじめてください。

MirageOne
質問者

お礼

早速の回答ありがとうございます。 また、質問の内容が抽象的であったにもかかわらず丁寧な回答うれしく思っています。 回答を参考に調べてみます。

関連するQ&A