VBからでも呼び出せるようにVC++でDLL(APIのようなもの)を作るには? – プログラミング – Home

VBからでも呼び出せるようにVC++で...
 
通知
すべてクリア

VBからでも呼び出せるようにVC++でDLL(APIのようなもの)を作るには?


かりろ
 かりろ
(@かりろ)
ゲスト
結合: 24年前
投稿: 1
Topic starter  

VC++の勉強を始めたばかりの新参者です。VBのキャリアはかなりあります。
さて、今回タイトルのようにVBでも使えるAPIをVC++で作りたいのです。
VBではサポートされていないデータ型をアーギュメントとするAPIを使わなければ
ならなくない、そのミドルというか、橋渡しをするAPIを作成したいと思っています。
簡単なヒントで結構です。
よろしくお願いします。


引用解決済
トピックタグ
ten_bun
 ten_bun
(@ten_bun)
ゲスト
結合: 24年前
投稿: 19
 

OLE、COM、ATL(確か旧い順のテクノロジー)がヒントになると思います。
基礎技術はRPCで、MIDL(言語?)の拡張子odlファイルでインターフェイスを定義します。
C++でいうところの、純粋仮想函数で構成される抽象クラスを応用した技術です。
まったく初めからやるのであるなら、結構道は険しいかもしれません。オブジェクト指向を
理解し実際にクラスを設計出来るのであるなら理解しやすいことでしょう。私も最近、ある
コンポーネントを設計しなければならず苦労しています。VBは初心者なのでクライアントサンプル
プログラムを組む時はヘルプが無いとお手上げだったりします。VC++で作ったものが、VBで制御
できた時は感動しました。


返信引用
Niji
 Niji
(@Niji)
ゲスト
結合: 24年前
投稿: 5
 

私もよくやります>VBからDLLを呼ぶ

その時のDLLというのは、ごく単純なもので、
一番旧式のものかとおもわれる方法です。

DLLには静的リンクと動的リンクの大きく分けて2種類ありますが、
今回のようにVBでDLLを呼ぶときは動的にDLLをリンクする方法になります。

その場合のDLLの作り方は、DllMain()に関してはTRUEを返して、
その他の関数は普通につくります。
そして、プロジェクト内に *.def というファイルをいれます。
内容としては、ヘルプをみてもらうと解ると思います。
一応例も書いておきます。

例:)
LIBRARY       hogehoge
DESCRIPTION Hoge Hoge Dll
EXPORTS
foo @1
bar @2

のような感じになります。
あとはビルドをするだけでOKです。
その時にいっしょに生成される*.libファイルはこの場合にかぎり、
使用しません(あしからず)。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました