DLLから提供されているクラス、メソッドを使用するには?

解決


ンパンマン号  2007-05-25 06:25:35  No: 26276  IP: 192.*.*.*

Bluetoothのコントロールのために、BTW SDK http://www.broadcom.com/products/bluetooth_sdk.php を使用しようとしています。
C++用の *.lib, *.h ファイルは、用意(http://svn.plutohome.com/pluto/branches/2.0.0.39/src/WinBluetooth/inc/)されているのですが、
当然?、Delphi用のファイルは用意されていません。
ドキュメントを見ると、DLLの関数をアプリケーション側から利用するのではなく、
DLLに用意されたクラス、メソッドを使ってアプリケーション側から操作するようになっているらしいです。

DLLから関数ではなくクラスが提供される場合、どのようにすればそのクラスをDelphiから使用できるようになるのでしょうか?
簡単な例を教えていただけないでしょうか。

検索してみると.
Using C++ objects in Delphi  http://www.rvelthuis.de/articles/articles-cppobjs.html
というページがあったのですが、今回のように、DLL側がクラスオブジェクト作成用の関数をエクスポートしていない場合は
どうすればいいのでしょうか?

編集 削除
○○ブー  2007-05-25 08:21:42  No: 26277  IP: 192.*.*.*

H to Pas Converter
http://www5b.biglobe.ne.jp/~k-kumaki/tool/h2p.html
http://www5b.biglobe.ne.jp/~k-kumaki/

こんなん使えば?

編集 削除
ンパンマン号  2007-05-25 19:15:23  No: 26278  IP: 192.*.*.*

H to Pas Converter を使ってみましたが、エラーばかりでクラス定義にはあまり役に立ちませんでした。
仮に、headerファイル(クラス定義の部分)を変換,翻訳できたとしても、クラスオブジェクトを作成する手段が無ければ、やはりDelphiから使うのは不可能なのだと思うのですが。どうなのでしょう?

編集 削除
だから  2007-05-26 03:45:52  No: 26279  IP: 192.*.*.*

ほんとにインポートの関数にクラスのオブジェクトを受け渡しするの?
それなら、作成したツールとまったく同等でなければ使用は不可能です。
なんせ、オブジェクトのメモリ配置はツール依存ですから。

多分そんなことはなくて、インポート用の関数はポインタや変数を
やり取りするだけなのだと思いますけど。ですから、インポートファイル
で相当するクラスの機能をラップした同等のクラスをDelphiで定義して
使うことになるんだと思います。

編集 削除
ンパンマン号  2007-05-27 00:04:51  No: 26280  IP: 192.*.*.*

>なんせ、オブジェクトのメモリ配置はツール依存ですから。
ありがとうございます。
無理だと分かって、すっきりしました。

Microsoft Visual C++ 2005 Express Edition
+ Microsoft Platform SDK for Windows Server 2003 R2
+ Vs6sp6.exe
で、サンプル動いたので、こっちでどうにかやってみます。

編集 削除