PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
1667 98/06/04 10:50:31 RE(3):PB5.0.02: グローバル外部関数から、VB5.0で作成されたDLLの呼出しはできますか? By nakamu
1583 98/05/26 17:22:42 RE(2):PB(32bit)からVB5.0で作成されたDLLを呼ぶのは難しいのでは... By TAKA
1575 98/05/26 09:43:33 RE(1):PB(32bit)からVB5.0で作成されたDLLを呼ぶのは難しいのでは... By M.M
1539 98/05/20 19:21:01 PB5.0.02: グローバル外部関数から、VB5.0で作成されたDLLの呼出しはできますか? By TAKA

カテゴリ:旧電子会議室
日付:1998年05月26日 09:43 発信者:M.M
題名:RE(1):PB(32bit)からVB5.0で作成されたDLLを呼ぶのは難しいのでは...

「TAKA」さん、こんにちは。Res遅れましたが、お役に立てれば幸いです。

>VB5.0で作成されたDLL内の関数を、PowerBuilderから使用する事はは可能でしょうか?
>可能であれば、方法を教えてください。
>よろしくお願いします。

VBはあまり詳しく無いので、少し外してしまうかもしれませんが...

VC++などで作成したDLLをPowerBuilderから呼ぶことは可能ですが、その際の注意点として
作成したDLLはPascal型で宣言する必要があります。
ところが、Windowsが16bitの時はWindowsアプリケーションの関数(特にDLL)はすべてPascal型と
いうのが暗黙の了解だったんですが、32bitになったらMicrosoftはWindowsアプリケーションの
DLLをPascal型にするのを止めちゃったみたいで、VC++で普通にDLLを作るとPascal型でないDLLが
できます。
このDLLは、当然VC++のアプリケーションからは正常に呼べますが、PBからはPascal型のDLLでない
ので呼べなくなってしまいます。
たぶん、VBで作成したDLLがPBから呼べないのも、同じパターンに
ハマッているのでは?

解決策として、Pascal型のDLLをVC++などで作成し、そのDLLからVBのDLLをコールするようにすれば
動くのではないかと思います。(動作未確認ですが。)

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.