PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
17000 | 02/02/14 14:51:13 | RE(1):PB6: dll作成 By ryochan |
16979 | 02/02/09 14:09:26 | PB6: dll作成 By マラドーナ |
カテゴリ:スクリプトの記述
日付:2002年02月14日 14:51 発信者:ryochan
題名:RE(1):PB6: dll作成
ryochanです。久々です。
マラドーナさん、こんにちは。
>PBで作成した関数をdll化して、VBでAPI同様に使用したいのです。
PBはWin32DLL(APIで呼び出すことができる関数群を含んだDLL)は
作成できません。
しかし、VBからPBで作成したクラスをOLE経由で呼び出して、
連携させることは可能です。
(アジフライさんもおっしゃっているようにどうも
Delphiからは呼べないのだよな。)
ヘルプのPowerBuiler.Application辺りを見てください。
PB側:1.ノンビジュアルユーザオブジェクトを作成する。
2.ユーザオブジェクト関数(メソッド)を作成する。
3.動的実行ライブラリファイル、(pbd or dll)を作成する。
VB側:
Dim pb As Object
Dim pbclass As Object
Set pb = CreateObject(\"PowerBuilder.Application\")
pb.LibraryList = \"PBで作成したpbd,dllのフルパス\"
pb.MachineCode = False (dllならtrue)
\'メソッドの実行
\'PBクラスの生成
Set pbclass = pb.CreateObject(\"ノンビジュアルユーザオブジェクト名\")
\'メソッドの実行
pbclass.メソッド名
\'後始末
Set pbclass = Nothing
Set pb = Nothing
PBの開発環境がインストールされていないPCの設定方法
1.pbappl.regを適当なディレクトリにコピーし、
レジストリに組み込む。
(ダブルクリックで可能)
2.pbaen*.tlb(*はバージョン番号ex.pbaen60.tlb)をラインタイムに追加する。
(ランタイムDLLが含まれているディレクトリにコピーする)
これらのファイルはいずれも、PBの開発環境のインストールディレクトリの
sharedディレクトリにあります。
1.でのpbappl.regの中で指定されているPBVM60J.dll、pbaen60.tlbはフルパスでは
ないので、PBVM60J.dll、pbaen60.tlbをフルパスで編集し直した方が良いかもしれません。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows 2000
DBMS Microsoft SQL Server Client 6.5
Browser InternetExplorer5.X
Server SoftWare
OS Windows 2000
DBMS Microsoft SQL Server 6.5
WebServer IIS
Copyright © 2013 Power Future Co., Ltd.