掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Delphiで作成されたDLLをVBで使用でエラー! (ID:75744)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>質問は、Delphiで確保されている大きさとVBで宣言した大きさが >違うのではないかと思っています。 データ型の大きさは同じサイズ(2,4byte)ですが、 符号付き整数と符号なし整数とで違いがあります。 Delphi定義 WORD (0〜65535) 2byte DWORD (0〜4294967296) 4byte VB定義 Integer (-32768〜32767) 2byte Long (-2147483648〜2147483647) 4byte >そこで、DelphiとVBの宣言の型の違いで、VBでどのように宣言すれば >良いのでしょうか? やっぱり、これかな? WORD ->Integer DWORD ->Long ※DLLによっては変更したほうが良い場合もあります。 >3の段階で、MARCbuffへそれらしき情報ははいっているようですが >その後が続きません。 API宣言の「Delphiコード」がないと一概に答えられません。 が、たぶん、「参照渡し」が失敗していると思われます。 >以下が、簡単なI/Oのソースです。 大元のDelphiソース,間違っていると思います(^^; > PathErr : DWORD = -1; > InameErr : DWORD = -2; > PyearErr : DWORD = -3; > PYOfferr : DWORD = -4; > LikeErr : DWORD = -5; //この項目では前方一致は指定できない > NotKeyErr: DWORD = -6; //キーが一つも入っていない。(もしくは出版年のみ) > OverErr : DWORD = -7; //検索結果のサイズが2Mバイトを超えた > KCharErr : DWORD = -8; //漢字キーが認められていない検索項目で、漢字が入力 値の範囲が「0〜4294967296」なのに「マイナス」が入っています。 まあ、やりようにやればうまくできますが・・・。 最後に一言 ・DelphiがVBで定義された文字配列(String)を「参照渡し」でうまく扱えるのか? ・構造体のポインタ渡しはVBとDelphiで互換性があるのか? などが、疑問になります。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.