Database 版 (精华区)
发信人: PowerBuilder (孙武空), 信区: Database
标 题: 7
发信站: 哈工大紫丁香 (2001年09月26日18:00:36 星期三), 站内信件
发信人: icefire@argo (冰火), 信区: Datebase
标 题: PowerBuilder 每日心得 (7) wdsq (转寄) (转载)
发信站: Yat-sen Channel BBS (Sat Nov 8 22:08:40 1997)
转信站: argo (local)
【 以下文字转载自 icefire 的信箱 】
【 原文由 <bbs@s1000e.whnet.edu.cn> 所发表 】
发信人: SQ (WonderDiscoveror), 信区: Database
标 题: PowerBuilder 每日心得 (7)
发信站: 华中地区网络中心 (Thu Oct 10 13:54:04 1996)
PowerBuilder 5.0中做OLE Automation Server(2)
上次谈到通过生成user object的注册信息,运行安装程序后,其它开发工具可以
使用PB5的User Object, 使用其属性和方法。其实还有一种更好的实现方法。那就
是使用PowerBuilder.Application对象。
在生成安装程序的时候,指定你的应用程序的GUID, 那么Setup程序在安装时会在
系统注册数据库中登录PowerBuilder.Application对象的有关数据。其它开发工具
如VB, VC, Delphi等就可以通过如下方式使用你PowerBuildr程序中所有的user object.
VB中:
Dim PBObject as object
Dim PBNVObject as object
PBObject = CreateObject("PowerBuilder.Application")
if PBObject is nothing then
REM handle the error
else
PBObject.LibraryList = "c:\myappl\mylibrary.dll"
PBNVObject = PBObject.CreateObject("nvo_myobject")
if PBNVObject is nothing then
REM handle the error
else
PBNVObject.DoSomething(12, 14, "Hello")
PBNVObject = nothing
end if
PBObject = nothing
end if
PB中:
OLEObject PBObject, PBNVObject
PBObject = CREATE OLEObject
PBNVObject = CREATE OLEObject
// Set the attribute of PBObject here
PBObject = CreateObject("PowerBuilder.Application")
PBObject.LibraryList = "C:\MyApp\Mylibrary.dll" // or PBD, PBL library
PBObject.MachineCode = True // Determine using Machincode or P-Code
PBNVObject = PBObject.CreateObject("nvo_myobject")
if IsNull(PBNVObject) then
// Error handling
end if
PBNVObject.DoSomething( 12, 14, "Hello" )
// Destroy object before exitting program
DESTROY PBNVObject
DESTROY PBObject
利用这种方式,就不必为每个user object生成相应的.REG和.TLB了.
所以,用PB做OLE Automation Server真是易如反掌。做OLE Automation Client也很容易.
PB5, 哎, 还是不错的吗! (虽然常有不稳定的情况....,无伤大雅吗)
--
※ 来源:.华中地区网络中心 s1000e.whnet.edu.cn.[FROM: 202.114.6.104]
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.229.154]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.581毫秒