请问:vfp能不能够调用com组件,怎样调用?希望能够和各位深入讨论!

whiteluobo 2003-08-21 11:44:17
内容如标题。
...全文
176 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
whiteluobo 2003-08-24
  • 打赏
  • 举报
回复
谢谢!结贴!
fj_jiangqi 2003-08-23
  • 打赏
  • 举报
回复
在表单中添加相关的控件,然后再调用。
就是内置对象,用createobject也许会更方便。
我没用过,具体,唉!
-------------------------
我流落在凄凉的世界里-孤苦伶仃
我过着动荡无助的生活-四处漂泊
whiteluobo 2003-08-23
  • 打赏
  • 举报
回复
fj_jiangqi(强盗),能不能具体地说说用ole来调用的办法?
whiteluobo 2003-08-23
  • 打赏
  • 举报
回复
问题解决了,谢谢两位。
直接调用createobject()具体如下:
private obj as object
obj=createobject("")
obj.method();

很奇怪我开始也是这么用的,却不知道为什么有问题。
whiteluobo 2003-08-22
  • 打赏
  • 举报
回复
谢谢!我先good good study!
mgan,真是太感谢你了,我昨天连发三贴,他都不让我up了。 :(
现在好了。 ^_^
fj_jiangqi 2003-08-21
  • 打赏
  • 举报
回复
用ole来调用,具体的方法属性要看对应的控件了。
-------------------------
我流落在凄凉的世界里-孤苦伶仃
我过着动荡无助的生活-四处漂泊
mgan 2003-08-21
  • 打赏
  • 举报
回复
http://web.5inet.cn/xiaogen/vfpcom1.htm
http://web.5inet.cn/xiaogen/vfpcom2.htm

还是在这里来看把
太多了

——————————@_@————————
good good study
day day up
__________________^@^_________________

mgan 2003-08-21
  • 打赏
  • 举报
回复
高级COM应用
高级COM应用 译者 RMH 本文解释如何在 Microsoft Visual FoxPro 中以执行接口和事件绑定来利用 COM 功能. 早期版本的 Visual FoxPro 为 COM 服务程序提供早期绑定支持, 但只支持客户端的晚期绑定. 该版本的 Visual FoxPro 增加了客户端早期绑定. 本文讨论服务器端和客户端的相对于晚期绑定的早期绑定的内部工作方式. 另外, 还讨论了 COM 性能和如何使 COM 对象更加显露(more discoverable). 简介 COM 是开发来允许应用程序作为对象来处理的可以相互调用的对象. 对象关系可以具有多种形式. 最简单的形式是一个调用服务程序对象的客户对象. 更复杂的对象交互包括互相调用的点对点对象. 如果对象先前互相不知道, 则它们需要能描述另一个对象如何可以被自己调用. 对象的事件接口是描述这些回调接口的例子. 事件接口不是由软件对象开发者来实现而是由该对象的的客户端实现的. Microsoft ActiveX 控件以非常复杂的接口提供了一个 COM 对象示例. 位于控件和宿主两处, 这些接口让在宿主端的, 可以实现控件的事件接口的控件的行为就象它的本地控件一样成为可能. 这种结合在开发者手中是极其有用的. 本文以一个对极其有效的 Visual FoxPro COM 服务程序的简单的说明开始. 接着, 将说明类别库 (Type Libraries) 及你能如何读取它们来把一个 COM 对象展现出来, 以及性能和错误处理. 最后, 本文讨论接口和如何实现它们. 一但你可以实现接口, 你的能力开始进入一个事件绑定, 自定义插件和软件体系的新世界. 该讨论的另一个方面包括对象如何相互调用. Visual FoxPro 6.0 使得早期和晚期绑定的客户都可以调用 Visual FoxPro 6.0 服务程序, 但 Visual FoxPro 6.0 只能用晚期绑定来调用报务器. 当前版本的 Visual FoxPro 包括了早期绑定客户调用的能力. 创建一个简单的 Visual FoxPro COM 服务程序 用以下代码创建一个叫做 MYCLASS.PRG 的 PRG 文件: * 该完整自包含程序将创建一个 COM 服务程序 * 调用 "myserver.myclass" * 这会注销一个可能有的早期实例 IF PROGRAM() != "MYCLASS" ?"该文件必须名为 ′myclass.prg′" return ENDIF IF FILE("myclass.dll") DECLARE integer DllUnregisterServer IN myclass.dll DllUnregisterServer() CLEAR DLLS ENDIF BUILD PROJECT myserver FROM myclass BUILD DLL myserver from myserver recomp * 现在测试该 COM 服务程序: ox = CreateObject("myserver.myclass") && 创建服务程序对象 ox.mydocmd("USE home(1)+′samples\\data\\customer′") && 使用一个表 ?ox.myeval("RECCOUNT()") && 得到记录数 DEFINE CLASS myclass AS session OLEPUBLIC PROCEDURE MyDoCmd(cCmd as String) as Variant helpstring "执行一个 VFP 命令" &cCmd && 只当参数是一个 Fox 命令时执行它 FUNCTION MyEval(cExpr as String) helpstring "对一个 VFP 表达式求值" RETURN &cExpr && 象一个 Fox 表达式一样对它进行求值 FUNCTION Error(nError, cMethod, nLine) COMreturnerror(cMethod+′ 错误号#=′+str(nError,5)+; ′ 行号=′+str(nline,6)+′ ′+message(),_VFP.ServerName) && 该行绝不会被执行 ENDDEFINE 一个这样的结构的程序可以创建为 COM 服务程序且不会影响注册表. 注意类定义前的代码只在联编时执行. 联编一个 COM 服务程序会在注册表中自动注册它. 重新联编服务程序时首先会反注册它. 但是, 反注册信息是保存在 PJX 文件中. 如果 PJX 被删除并重新联编, 则在联编一个新项目时注册表中的入口没有被移去. 现在, 你已经创建了你的第一个服务程序. 在 Visual FoxPro 中创建一个服务程序的同时也会创建一个类别库并在系统注册表中写入相关的类别库和文件位置的信息. 创建的过程创建一个名为 myserver.vbr 的文件, 它显示了在服务程序被注册时哪一个注册表键值被修改了. 注意上述代码中使用的 SESSION 基类是 Visual FoxPro 6.0 SP3 新增加的. 它是一个非常轻量级的非可视的且只有 DataSession 属性来使用不同数据工作期的基类. 在创建 COM 服务程序时, FORM 基类也有一个
whiteluobo 2003-08-21
  • 打赏
  • 举报
回复
高手啊,救救我吧!
whiteluobo 2003-08-21
  • 打赏
  • 举报
回复
比方说我在vfp里面添加一个command按钮,单击触发,就调用一个com组件。怎么实现对com的方法属性等得调用呢?
whiteluobo 2003-08-21
  • 打赏
  • 举报
回复
谢谢强盗,我先试试。
:( 能不能说的具体一点啊?

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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