如果有三个模块(.BAS),并不都是定义公共模块的,还有一些程序.同时还有很多窗体(其中包括菜单).它们的执行顺序到底是怎么样的.以什么为标准?

解决方案 »

  1.   

    首先是你的工程设置为启动对象的对象中的代码,可以是某个窗体,或者是sub main(),然后发生什么事件就执行相应事件的处理代码。并不是所有代码挨个执行一遍。
      

  2.   

    我也觉得是执行哪个程序就到哪儿.问题是,如果在一个窗体中先加载另一个窗体,然后再执行模块中的一个PUBLIC的事件,结果却是,先出现PUBLIC事件的对话框,再出现另个窗体的对话框.这是为什么呢,它并不是按照执行顺序来的啊?
      

  3.   

    执行完打开窗体后,单独写一行,内容就是
    DoEvents
    就行了
      

  4.   

    在VB里面代码是按顺序执行的,如:
    call cmdok_click()
    call mdltest.check()
    call subtest()
    这个从第一个开始依次执行
    但是,并不是要等cmdok_click()的代码执行完毕才允许后面的执行,
    这里如果你非要mdltest.check()在cmdok_click()后面执行,
    可以尝试把mdltest.check()放到cmdok_click()里面代码的最后.
      

  5.   

    我用了DoEvents后,我想要加载的窗体出现了不到一秒钟,那个PUBLIC事件的窗口又蹦了出来,挡住前一个窗口,根本没有机会运行完前一个窗体的全部事件,怎么回事啊?
      

  6.   

    doEvents是让系统执行系统事件,加载窗体并不是说窗体已经显示,真正显示的是你写在加载中程序的调用,那个模块中的窗口蹦出是你写的吧,那就对了!实际看到如你所述,解决方法是...你到底要完成什么功能阿!
      

  7.   

    我要在一个菜单功能的窗体中调用另一个计算功能的窗体,然后再执行MODULE中的保存文件的命令.现在运行结果的顺序就是:保存文件和计算两个窗口同时出现,然后,可以保存文件,但是无法计算.除非把保存文件的窗口关掉.我现在想知道,如果解决?
      

  8.   

    你把调用module的代码写在计算窗体的计算结果最后
      

  9.   

    以下是FORM2窗体中程序    
    frm1.Show    
    SavetempTitle = "保存文件"
    SavetempName = "temp.txt" 
    Call SaveFile(SavetempTitle, SavetempName)以下是MODULE的程序
    Public Sub SaveFile(tempTitle As String, tempName As String)
      ......  
    End Sub
      

  10.   

    我找到方法解决了,但还是有问题,就是计算完以后,要等上一会儿,这个计算操作的过程每个人都是不一样的,所以感觉还是不能用.你们看看如下代码,加到frm1.show的后面.
    dblEndTime = Timer + 20#
              Do While dblEndTime > Timer
                  DoEvents
              Loop
      

  11.   

    frm1.Show     ======》  frm1.Show vbModal