| 网站首页 | 业界新闻 | 群组 | 人才 | 技术文章 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 290 人关注过本帖
标题:求助:我想通过NewObject("VisualFoxpro.Application")开启一个新的VFP9应用 ...
只看楼主 收藏
wanguhssheng
Rank: 2
等 级:论坛游民
威 望:1
帖 子:52
专家分:14
注 册:2016-2-26
结帖率:90.91%
  已结贴   问题点数:20  回复次数:13   
求助:我想通过NewObject("VisualFoxpro.Application")开启一个新的VFP9应用,没有成功,请高手帮助,谢谢
在VFP6中好像是可以的.
2017-10-03 07:35
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:114
帖 子:4360
专家分:17027
注 册:2014-5-20
  得分:10 
"开启一个新的VFP9应用",具体是做什么的?
2017-10-03 10:51
wanguhssheng
Rank: 2
等 级:论坛游民
威 望:1
帖 子:52
专家分:14
注 册:2016-2-26
  得分:0 
回复 2楼 吹水佬
主窗口在查看不同股票的时候,希望另一个窗口可以幕后收集网上的相关数据,不影响主窗口的速度。
2017-10-03 11:38
红星二锅头
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:316
专家分:462
注 册:2016-8-25
  得分:10 
CreateObject("VisualFoxPro.Application") 要求系统已经安装 VFP 的软件
一般是给第三方软件调用 VFP 的

团队红星二锅头,队长王猛,领队李冲,顾问杨伟,副队张挺,外联马彪,内勤韩秀,人事顾闯,财务赵魁,后勤周强
2017-10-03 14:44
红星二锅头
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:316
专家分:462
注 册:2016-8-25
  得分:0 
相当于如果你的机子安装了 MS Excel
你就可以使用
oExcel = CreateObject("Excel.Application") 的命令
否则不能运行

团队红星二锅头,队长王猛,领队李冲,顾问杨伟,副队张挺,外联马彪,内勤韩秀,人事顾闯,财务赵魁,后勤周强
2017-10-03 14:51
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:114
帖 子:4360
专家分:17027
注 册:2014-5-20
  得分:0 
以下是引用wanguhssheng在2017-10-3 11:38:57的发言:

主窗口在查看不同股票的时候,希望另一个窗口可以幕后收集网上的相关数据,不影响主窗口的速度。

VFP本身没有多线程编程的说法,用一个进程(一个EXE)做到两个窗口互不影响“速度”,不是不可以,而是很麻烦。
最简单就是写两个EXE(多进程)。
2017-10-03 14:53
红星二锅头
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:316
专家分:462
注 册:2016-8-25
  得分:0 
就事论事,,,

oVFP = Createobject('VisualFoxPro.Application')  && 创建 Visual FoxPro 的新实例
oVFP.Visible = .T.  && 后面的命令使新建实例可见
oVFP.DoCmd('Dir')   && 新建实例中运行 Dir 命令
oVFP.DoCmd('=Messagebox("列出 DBF 文件", 68, "信息", 6000)')  && 运行 Messagebox 命令
oVFP.Quit  && 退出新建实例
oVFP = .Null.

团队红星二锅头,队长王猛,领队李冲,顾问杨伟,副队张挺,外联马彪,内勤韩秀,人事顾闯,财务赵魁,后勤周强
2017-10-03 17:48
wanguhssheng
Rank: 2
等 级:论坛游民
威 望:1
帖 子:52
专家分:14
注 册:2016-2-26
  得分:0 
报告"找不到VisualFoxPro.Application类定义",可能是我的VFP安装的问题吧。
2017-10-03 21:50
wanguhssheng
Rank: 2
等 级:论坛游民
威 望:1
帖 子:52
专家分:14
注 册:2016-2-26
  得分:0 
回复 7楼 红星二锅头
我单位里的机子装的VFP6,是可以运行你的代码的。
2017-10-03 21:53
红星二锅头
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:316
专家分:462
注 册:2016-8-25
  得分:0 
4F 说过了,报告"找不到VisualFoxPro.Application类定义",应该是你的电脑上没有安装VFP的软件
或者你的 VFP 是绿色版的,没注册过

他人也告诉你了,VFP本身没有多线程编程,你用 Createobject('VisualFoxPro.Application') 另建了一个实例,并不是多线程,也是一个原先的VFP的一个过程
你再用下面的代码试试看,新建的实例没有运行结束,后面的 Wait 语句还执行吗?

oVFP = Createobject('VisualFoxPro.Application')  && 创建 Visual FoxPro 的新实例
oVFP.Visible = .T.  && 后面的命令使新建实例可见
oVFP.DoCmd('Dir')   && 新建实例中运行 Dir 命令
oVFP.DoCmd('=Messagebox("列出 DBF 文件", 68, "信息)')  && 运行 Messagebox 命令
oVFP.Quit  && 退出新建实例
oVFP = .Null.

Wait Windows "怎么还没有运行呀?急死了,,,"

团队红星二锅头,队长王猛,领队李冲,顾问杨伟,副队张挺,外联马彪,内勤韩秀,人事顾闯,财务赵魁,后勤周强
2017-10-04 00:17







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052691 second(s), 8 queries.
Copyright©2004-2017, BCCN.NET, All Rights Reserved