2010.7.2 在QQ朋友菠菜/yun(1216297)的引导下接触到了PB制作COM组件应用。
1、文件夹A下用COM的向导制作了一个不可视的object,制作了最简单的函数,最后打包成dll文件。
2、利用regsvr32注册了这个dll。
3、文件夹B下用ole方式调用这个dll,并调用里面的方法,测试正常。
注意要点:经过测试可以调用普通函数取得返回值,而当调用函数中有open窗口的语句后,虽然也能打开窗口正常看到窗体中的控件,并且窗口的open事件也能成功执行,哪怕是dw中的数据也能正常显示。但是当鼠标点击任何控件都会报非法操作的提示,关闭窗口也是如此。而文本框的getfocus,losefocus,modify等事件也不会被触发。最后判断为PB调用PB制作的com组件时,只能调用非可视的object做的,而如果含有窗体的,就会经常报非法操作。估计是此种方法不被支持。
测试环境pb11,当A文件夹下程序编译成dll时如果报错,请删掉A目录下生成的没用的dll及其他文件,即可。
如果有哪位高人成功调用了PB下的可视化窗体又不会报错的,请不吝赐教,QQ联系方式如下。
Kair 2010.7.2 QQ:55092518
1