主题:我的VF*EXE连编不成,为什么?
hao710
[专家分:0] 发布于 2008-09-22 08:20:00
我做的VF,有密码表单,数据表,报表,菜单。为什么连编后是VF的窗口和密码表单,没我的菜单呢?我的做法是在一个程序里建DO FORM 密码表单.scx , do *报表.mpr.。在密码表单设顶层表单并为主文件。请老师们指教。谢谢
回复列表 (共8个回复)
沙发
lwh1188 [专家分:25840] 发布于 2008-09-22 09:15:00
在init里:
do 菜单程序名.mpr with this, .t.
在菜单生成器中选择“显示”下拉式菜单的“常规选项”菜单项,在对话框中选择“顶层表单”复选框,生成菜单。
板凳
hao710 [专家分:0] 发布于 2008-09-22 16:08:00
不行啊,我按你说的做了,不行,是不是重新做菜单呢?我只在程序里把这两个命令加进去,出来的还是VF主菜单和密码表单,没有我的菜单,我做菜单时已将系统菜单关闭。谢谢
3 楼
lwh1188 [专家分:25840] 发布于 2008-09-22 17:44:00
“...密码表单设顶层表单...”,如果没有VFP窗口,就要有一个“全程”都“存在”的作为
“总控制”作用的“总表单”为顶层表单,也就是说你的“密码表单”要一直运行,只有退出
整个系统时才能释放,主程序(即主文件)一般用prg文件比较好些,设置灵活些。“我做菜
单时已将系统菜单关闭...”你关闭系统菜单的代码放在哪儿了?你“密码表单”设为“主文
件”时,编译成EXE文件时,[u][color=FF0000]程序是从主文件开始运行的[/color][/u],其它的(如prg文件)不是被调用的话
是不起作用的。你的主文件应是含有 DO FORM 密码表单.scx , do *报表.mpr的程式序文
件,不是“密码表单”。你是按以下代码关闭主菜单的吗?
SET SYSMENU OFF &&使主菜单条不能被访问
SET SYSMENU TO &&关闭主菜单条
4 楼
hao710 [专家分:0] 发布于 2008-09-23 08:48:00
lwh1188老师好
我关闭系统菜单的代码是在做菜单时,有前两句需要删除,系统菜单关了,就能做出自己的菜单。你说的set、、、我加在程序里了,但没有设他为主文件,我再按你教的再做一下看看,谢谢你
5 楼
hao710 [专家分:0] 发布于 2008-09-23 09:39:00
老师
我加了你说的代码,我的菜单没有出来,出来的是VF边框但没有他的菜单和我的密码表单,退不出去。
我设了程序prg为主文件,代码是
set date to ansi
set sysmenu off
SET SYSMENU OFF &&使主菜单条不能被访问
SET SYSMENU TO &&关闭主菜单条
DO FORM MM.SCX
Do FORM 合作医疗.mpr
Read Events
Clear Events
把密码表单设1-顶层表单,菜单设顶层表单。
请老师说的详细点,我想点EXE后,先密码表单,后出来我自己的菜单。谢谢
6 楼
lwh1188 [专家分:25840] 发布于 2008-09-23 11:27:00
set date to ansi
set sysmenu off
SET SYSMENU OFF &&使主菜单条不能被访问
SET SYSMENU TO &&关闭主菜单条
DO FORM MM.SCX
Do FORM 合作医疗.mpr
Read Events 这是“事件扫描”的开始,使“程序”处于“一种等待”状态。
***** Clear Events &&这是“事件扫描”的结束,要放在“退出”按钮中或“菜单”的“退出”项,一般后面还加上quit。
7 楼
lwh1188 [专家分:25840] 发布于 2008-09-23 11:38:00
“...想点EXE后,先密码表单,后出来我自己的菜单...”如果关闭了VFP主窗口,你的“密码表单”“通过”之后还要运行一个“作为顶层表单”的表单,你自己的菜单就放在这个表单中,不是放在“密码表单中”,就是说:Do FORM 合作医疗.mpr with this, .t.是放在这个表单的init里的。且这个表单要一直“保持”到“退出系统”才能释放,其它的表单只能是“在顶层表单中”或“作为顶层表单”,不能有“在屏幕中”的表单,“在屏幕中”就是在VFP主窗口中的意思,VFP主窗口都关闭了,“在屏幕中”的表单就不能显示了!
另:调试时,先在命令窗口:clear all 然后选定主文件,再点击“运行”。顶层表单会在windows任务栏显示的,非顶层表单则不会在windows任务栏显示的!
8 楼
hao710 [专家分:0] 发布于 2008-09-24 08:19:00
谢谢老师
我再试试,我要把文件重新做一次,编了几次,文件都编坏了,我的菜单也用不了。
我来回复