人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VBで作ったDLLをDelphi上から実行したいのですが、どのようにすればよいのでしょう?

Delphiで作ったDLLと同じように実行しようとすると、
「プロシージャエントリポイントが見つかりませんでした」
という旨のエラーが出て実行することができません。

下記のサイトを参考にしてDelphi製のDLLの作成・利用を行いました。同じような記述でVB製のDLLを動かそうとしたのですが、前述のエラーが発生してしまいます。
http://oto.chu.jp/kujira/text/delphi/dll.htm

VB製のDLLをDelphiで使うには、何か特別な書き方などが必要なのでしょうか?
DLLの中にある処理そのものは、とりあえず、テストとしてニ値のintegerを加算するだけなのですが……。

詳しい方いらっしゃいましたら、お願いします。

●質問者: hina1981
●カテゴリ:コンピュータ
✍キーワード:Delphi DLL VB エラー エントリ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● villain
●40ポイント

VBで作成したDLLはVBでしか利用できないみたいです。


VBで作成したDLLをVCから呼び出すには?


実際にはCOM経由で操作できるかもしれませんが...。

◎質問者からの返答

ありがとうございます。

VB製のActiveX DLLは、通常のDLLと同じように呼び出すことはできないということでしょうか。

どのような方法でも結構ですので、ご存知の方がいらっしゃいましたら、お願いします。


2 ● llusall
●1ポイント

>「プロシージャエントリポイントが見つかりませんでした」

メッセージから察するに、そのDLLの中に、Delphiで宣言している関数が見つからなかった。という事ではないかと思います。

関数の宣言にスペルミスがないかどうか見直してみたらいかがでしょうか?


3 ● llusall
●39ポイント ベストアンサー

再回答ですみません。

>VB製のActiveX DLLは、通常のDLLと同じように呼び出すことはできないということでしょうか。


呼び出せる様です。

以下、ヒントとなるスレッドを記載します。

http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/article/057/0572...

http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/article/057/0572...

http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/article/057/0572...

http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/article/057/0572...

http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/article/057/0573...

ポイントは、

xxxxxx := CreateOleObject('ProjectName.ClassName');

を使用するところにあるようです。


ちょうど、本日、Delphiをインストールしたのですが、あいにくVBが無くて、

確認とれません。すみません。

◎質問者からの返答

ありがとうございます。

Delphi製のDLLとは、全く違う呼び出し方をする必要があるのですね。

読んでみるとPersonal Editionでは、実行できないけれども、Professional Edition以上だったら、

xxxxxx := CreateOleObject('ProjectName.ClassName');

ができるみたいですね。

今、手元にPersonal Editionしかないので、試すことができないのですが、試す機会があったら試してみたいと思います。

では、Personal Editionでは呼び出すことができないのでしょうか?

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ