解决方案 »

  1.   

    你的FLGEN过程中有捕获错误的措施吗?如果没有,加一个再试试......
      

  2.   

      FLGEN子程序可以运行到end sub,因为程序已经输出 "调用FLGEN完成,准备跳出",这是FLGEN的最后一步啊.而且我用F8逐步执行没有出错.但生成EXE却不行.
      

  3.   

    F8正常啊……调用一个过程而已,是不是已经正常了而你的text1显示宽度有限呢……  Text1.Text = Text1.Text & "调用FLGEN" & vbCrLf
      Call FLGEN(DENF, R, WH, XM, NN, MM, NDFS, IBAND, MMD, NDFSD, LINEAR, FS(), SC(), INDEX_A)
      Debug.Print "跳出FLGEN,程序继续" & vbCrLf使用debug.print试试看……
      

  4.   

    找到原因了,是 call 语句下面的 Text1.Text = Text1.Text & "跳出FLGEN,程序继续" & vbCrLf   导致程序无法继续,这是VB的BUG还是有什么别的原因吗? 我仅把这行删除,程序就能继续运行了!  原程序是一个很老的FORTRAN程序,结构很乱,估计是重编时有些地方对不上吧.
      

  5.   

    做了测试 :一切正常,不是VB的原因,是程序本身的错误.我也不想改了,原程序太乱.
    Private Sub Command1_Click()
    Dim i As Integer
    For i = 1 To 20
      Text1.Text = Text1.Text & "测试bug" & vbCrLf
      Call tex1
      Text1.Text = Text1.Text & "调用结束" & vbCrLf
    Next i
    End Sub
     
    Private Sub tex1()
    Text1.Text = Text1.Text & "这是子程序" & vbCrLf
    End Sub