| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5054 人关注过本帖
标题:如何才能让编译好的程序脱离VFP9环境独立运行?请指教
只看楼主 加入收藏
hepingfly
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:15
帖 子:195
专家分:657
注 册:2015-5-21
收藏
得分:4 
主窗口关闭了,表单的 showwindow=2  是必须的。  

星际花草
2015-06-14 22:27
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
用了_screen還想脫離vfp的IDE窗口運行?中國夢做多了!

授人以渔,不授人以鱼。
2015-06-15 18:04
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:4 
*创建图像控件并将壁纸充满整个窗口空白区域
 _screen.addobject('imaImage','image')
 _screen.imaImage.visible=.t.
 _screen.imaImage.picture=ltrim(trim(ZBZ))
 _screen.imaImage.top=0
 _screen.imaImage.left=0
 _screen.imaImage.height=sysmetric(22)
 _screen.imaImage.width=sysmetric(21)
 _screen.imaImage.stretch=zcktc
把设置上面的,改为设置顶层表单。用顶层表单
2015-06-17 13:47
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
收藏
得分:0 
现在有个问题,就是我在调用其他程序结束的时候需要停用被调用程序中的事件处理,要执行一条CLEAR EVENTS代码,但是执行这一条代码后不但退出了被调用的程序,而且它还结束了主程序,怎么办呢?
下面是被调用的程序:

Main()

PROCEDURE Main()
    LOCAL loForm
    loForm = CREATEOBJECT("C_Form")
    WITH loForm
        .Caption = "播放多媒体文件"
        .AutoCenter = .T.
        .Icon=ZTB
        .Show
        .Windowstate=2
        .alwaysontop=.t.
        .minbutton=.f.
        .maxbutton=.f.
    ENDWITH
    READ   EVENTS
ENDPROC



DEFINE CLASS C_Form AS Form

    ADD OBJECT MusicPlayer AS OleControl WITH OleClass = "WMPlayer.OCX.7", Width = sysmetric(21)-25, Height = sysmetric(22)-80
   
    PROCEDURE Arrange
        WITH ThisForm.MusicPlayer  
            .Top = 10
            .Left = 10
        ENDWITH
    ENDPROC
   
    PROCEDURE Activate
        ThisForm.Arrange
        ThisForm.MusicPlayer.URL = bfwj
    ENDPROC
   
    PROCEDURE Resize
        ThisForm.Arrange
    ENDPROC
   
    PROCEDURE Destroy
       CLEAR  EVENTS
    ENDPROC
   
ENDDEFINE
2015-06-17 14:00
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
*MAINPFG.PRG
**
**

   DO FORM form\Login.scx  &&顶层表单,正常登录后,在Destroy或者UNLOAD等等事件写上CLEAR  EVENTS,退出LOGIN登录表单的循环。
   READ EVENTS
   IF lSysLogin=.T.
      DO FORM form\mainform.scx &&主界面表单,在主界面的Destroy或者UNLOAD等等事件写上CLEAR  EVENTS退出系统,其它的任何表单都不能写CLEAR EVENTS
      READ EVENTS
   ENDIF
2015-06-17 14:53
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
处理 Activate 事件要注意:表单每次获得焦点时会触发Activate事件,如果只需要引发一次就要控制好。
 PROCEDURE Activate
    if this.Tag == "1"
        return
    endif
    this.Tag = "1"      
    ThisForm.Arrange
    ThisForm.MusicPlayer.URL = bfwj
ENDPROC
2015-06-17 14:55
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
   DO FORM form\Login.scx
   READ EVENTS  &&如果没这句,因为默认lSysLogin=.F.下面的 DO FORM form\mainform.scx就不会进入,程序1闪就过。
   IF lSysLogin=.T.
      DO FORM form\mainform.scx
      READ EVENTS &&如果没这句,登录完后,mainform.scx,就不会停住。
   ENDIF
2015-06-17 14:58
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
收藏
得分:0 
回复 16楼 吹水佬
我在14楼的问题按你的办法试了,只要调用这个子程序,在关闭这个子程序的时候就会连带关闭了主程序。怎么改动才能只关闭当前事件处理程序而不关闭主程序呢?
我发现无论调用哪个表单或子程序的时候,如果表单或子程序中包含有clear events代码,主程序就会关闭。而如果不包含CLEAR EVENTS代码,当前的事件处理程序又无法开始,该怎么办呀,求大侠帮帮忙啊!
2015-06-17 15:17
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
收藏
得分:0 
到底该怎样CLEAR EVENTS才能只退出当前事件处理程序而不是结束所有的事件处理程序呢?
2015-06-17 15:23
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
到底该怎样CLEAR EVENTS才能只退出当前事件处理程序而不是结束所有的事件处理程序呢?
1、你退出当前事件?是指退出你这个表单?loForm = CREATEOBJECT("C_Form")??
2、要是你退出loForm = CREATEOBJECT("C_Form")后,还要运行1个叫loForm = CREATEOBJECT("D_Form")的表单?有2种方法
(1)就是退出loForm = CREATEOBJECT("C_Form")的时候,不要CLEAR EVENTS,直接THISFORM.RELEASE
(2)在退出loForm = CREATEOBJECT("C_Form")的时候,CLEAR EVENST,运行loForm = CREATEOBJECT("D_Form")新表单的是,重新READ EVENTS。
你的主程序改为
PROCEDURE Main()
     LOCAL loForm
     loForm = CREATEOBJECT("C_Form")
     WITH loForm
         .Caption = "播放多媒体文件"
         .AutoCenter = .T.
         .Icon=ZTB
         .Show
         .Windowstate=2
         .alwaysontop=.t.
         .minbutton=.f.
         .maxbutton=.f.
     ENDWITH
    READ   EVENTS
 ENDPROC
 loForm = CREATEOBJECT("D_Form")
     WITH loForm
         .Caption = "DDDDDDDDDDDDD播放多媒体文件"
         .AutoCenter = .T.
         .Icon=ZTB
         .Show
         .Windowstate=2
         .alwaysontop=.t.
         .minbutton=.f.
         .maxbutton=.f.
     ENDWITH
    READ   EVENTS
 ENDPROC
 
2015-06-17 16:03
快速回复:如何才能让编译好的程序脱离VFP9环境独立运行?请指教
数据加载中...
 
   



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

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