PB调用com组件?

君子之交淡如水 2012-07-18 01:03:27
还是上次我问的那个问题,因为Pb不能直接调用C#编写的dll文件,这次我用C#编写的是com组件。
因为我不会用pb,希望能帮帮忙,十分感谢!!!
需求下载地址:http://download.csdn.net/detail/l1160974051/4435896
...全文
375 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
嗯,太感谢你了
[Quote=引用 23 楼 的回复:]

FileOpen,FileWrite,FileClose
[/Quote]
billxia 2012-07-19
  • 打赏
  • 举报
回复
FileOpen,FileWrite,FileClose
  • 打赏
  • 举报
回复
对,对,就是“在 pb 里面 打开服务的时候 记录下日志”,这个该怎么写呢
[Quote=引用 20 楼 的回复:]

或者 简单的 在 pb 里面 打开服务的时候 记录下日志 ,关闭服务的时候 也记录下日志 呵呵。。当然 更好的方法 还是 在 com 里面写。。
[/Quote]
billxia 2012-07-19
  • 打赏
  • 举报
回复
lfile=FileOpen(sfilename, StreamMode! , Write! , LockWrite!, Append! )
if lfile<0 then return false
lfile1=long(len(s)/32765)+1
for i=1 to lfile1
s1=mid(s,(lfile1 - 1)*32765+1,32765)
lret=FileWrite(lfile,s1)
if lret<0 then return false
next
lret=FileClose(lfile)
if lret<>1 then return false
billxia 2012-07-19
  • 打赏
  • 举报
回复
或者 简单的 在 pb 里面 打开服务的时候 记录下日志 ,关闭服务的时候 也记录下日志 呵呵。。当然 更好的方法 还是 在 com 里面写。。
billxia 2012-07-19
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]
嗯,明白,在com组件里写了,但是任务要求是写调用方日志和被调用发日志,所以···

引用 11 楼 的回复:

pb 中捕获的是 pb 中的 异常。。。不是 你的com的异常。。。要在com里面写。。然后 从pb里面读取。。还要考虑 读取的频度。。。。
[/Quote]

看了下。。应该是 直接 在 com 里面保存异常。。。和 pb 的程序 没有关系 。。。因为 com 里面异常后。。服务 肯定已经被关闭了。。。所以 pb 里面也读不到了 。。。但可以增加 在 pb 里面 读取 日志 查看查看的代码 呵呵
  • 打赏
  • 举报
回复
用pb输出文本,怎么用代码实现
[Quote=引用 16 楼 的回复:]

objOle.DisconnectObject()
DESTROY objOle
[/Quote]
  • 打赏
  • 举报
回复
嗯,十分感谢[Quote=引用 16 楼 的回复:]

objOle.DisconnectObject()
DESTROY objOle
[/Quote]
billxia 2012-07-19
  • 打赏
  • 举报
回复
objOle.DisconnectObject()
DESTROY objOle
  • 打赏
  • 举报
回复
嗯,明白,在com组件里写了,但是任务要求是写调用方日志和被调用发日志,所以···[Quote=引用 11 楼 的回复:]

pb 中捕获的是 pb 中的 异常。。。不是 你的com的异常。。。要在com里面写。。然后 从pb里面读取。。还要考虑 读取的频度。。。。
[/Quote]
  • 打赏
  • 举报
回复
额,该怎么关闭[Quote=引用 13 楼 的回复:]

引用 8 楼 的回复:
谢谢你了,我自己琢磨琢磨地弄好了,代码如下

SQL code

string s="hello"
int intValue
OleObject objOle
objOle=create OLEObject
intValue=objOle.ConnectToNewObject("MyLib.MyClass")
sle_turnexample.text……
[/Quote]
billxia 2012-07-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
谢谢你了,我自己琢磨琢磨地弄好了,代码如下

SQL code

string s="hello"
int intValue
OleObject objOle
objOle=create OLEObject
intValue=objOle.ConnectToNewObject("MyLib.MyClass")
sle_turnexample.text=objOle.TurnExa……
[/Quote]

objOle 别忘记关闭。。
WorldMobile 2012-07-19
  • 打赏
  • 举报
回复
可以考虑用try,如果出现异常,就写日志
billxia 2012-07-19
  • 打赏
  • 举报
回复
pb 中捕获的是 pb 中的 异常。。。不是 你的com的异常。。。要在com里面写。。然后 从pb里面读取。。还要考虑 读取的频度。。。。
  • 打赏
  • 举报
回复
对于日志文件,我的想法是这样的,把这段代码
sle_turnexample.text=objOle.TurnExample()
sle_refexample.text=objOle.RefExample(ref s)
objOle.Example()
放到异常中,当顺利运行后输出:已经执行完毕!
当出现异常了,就输出:异常
就好比我用C#写的一样[Quote=引用 7 楼 的回复:]

你的组件无法复制,如下图所示:
[image]http://www.allpos.cn/csdn/error.png[/image]
[/Quote]
  • 打赏
  • 举报
回复
我现在就差写日志文件了(需求中有)
你知道该怎么写吗
[Quote=引用 7 楼 的回复:]

你的组件无法复制,如下图所示:
[image]http://www.allpos.cn/csdn/error.png[/image]
[/Quote]
  • 打赏
  • 举报
回复
谢谢你了,我自己琢磨琢磨地弄好了,代码如下

string s="hello"
int intValue
OleObject objOle
objOle=create OLEObject
intValue=objOle.ConnectToNewObject("MyLib.MyClass")
sle_turnexample.text=objOle.TurnExample()
sle_refexample.text=objOle.RefExample(ref s)
objOle.Example()
[Quote=引用 7 楼 的回复:]

你的组件无法复制,如下图所示:
[image]http://www.allpos.cn/csdn/error.png[/image]
[/Quote]
pb8 2012-07-19
  • 打赏
  • 举报
回复
你的组件无法复制,如下图所示:
[image]http://www.allpos.cn/csdn/error.png[/image]
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

可怜孩子。。。。
[/Quote]
  • 打赏
  • 举报
回复
嗯,嗯,O(∩_∩)O谢谢[Quote=引用 4 楼 的回复:]

本子没带回,明天找时间帮你看看
[/Quote]
加载更多回复(4)

662

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder Web 应用
社区管理员
  • Web 应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧