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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.