本帖最后由 alantan88 于 2011-07-08 18:50:27 编辑

解决方案 »

  1.   

    Open TempDir & "\vsFlex8.ocx" For Binary Access Write As #FileNum '注释:新建文件(把 Winsock 控件复制到指定目录下)
     
      

  2.   

    +1
    对这样打开OCX文件表示怀疑
      

  3.   

    打开OCX文件只是第一次运行程序才执行的,以后执行时因为检测到有ocx文件,就不会打开了,因此肯定不是这个原因
      

  4.   

    If App.PrevInstance Then
       MsgBox "程序的一个实例正在运行!", vbInformation, ""
       End
       Exit Sub
    End If
      

  5.   

    终于找到原因了,是和Form_Load()中对一个VSFlexGrid的表格控件操作有关,如下所示,去掉注释部分就可以了。我本来是想将表格第0行的第1列和第2列的内容居中显示,这也许是VSFlexGrid的表格控件的一个BUG吧。如果要坚持居中显示,就按5楼的方法做吧,当然要把MsgBox去掉,弹出几个窗还是很烦的。分就给5楼吧。'    VSFlexGrid1.Row = 0
    '    VSFlexGrid1.Col = 1
        VSFlexGrid1.CellAlignment = flexAlignCenterCenter
        VSFlexGrid1.TextMatrix(0, 1) = "参数定义"
        For i = 0 To 138
            VSFlexGrid1.TextMatrix(i + 1, 1) = ItemStrings(i)   '对第1列单元格赋值
        Next i
    '    VSFlexGrid1.Row = 0
    '    VSFlexGrid1.Col = 2
        VSFlexGrid1.CellAlignment = flexAlignCenterCenter
        VSFlexGrid1.TextMatrix(0, 2) = "参数值"
        VSFlexGrid1.ColAlignment(0) = flexAlignCenterCenter
      

  6.   

    四个都是你设计的窗口吗?还是系统发出的提示窗口?还有,你的这种提取OCX文件的方式没问题,但是你好像不知道一件事,提取了OCX文件后,新的DLL,OCX文件都是要注册后才能用的,你没有注册的代码。