同上

解决方案 »

  1.   

    1)将ocx放到资源文件中,类型是自定义资源,编号 1012)在vb程序启动的 main 过程中添加代码:    Dim dbByte() As Byte, tmpFile As String, freeNo As Integer
        dbByte = LoadResData(101, "CUSTOM")
        
        '文件名
        tmpFile = replace(app.path & "\myocx.ocx","\\","\")
        
        freeNo = FreeFile()
        Open tmpFile For Binary As #freeNo
        Put #freeNo, , dbByte
        Close #freeNo
        如果有多个文件,循环处理。
      

  2.   

    将以上代码放在Form_load中行不行?
      

  3.   

    大概不行!因为 form 初始化时就要用到控件,等到 load 事件发生时已经初始化完成了。如果初始化时没找到 ocx 文件,会发生一个错误。
      

  4.   

    怎样将控件打包到EXE,到使用时再释放? ???怎么不使用打包工具,还是我理解你的问题有误?
      

  5.   

    版主:楼主大概是不想打包,又不想一次发行多个文件,只想有一个exe文件,所以要这样处理。
    比如我就经常将数据库放到资源文件中,然后在程序首次运行时从资源文件建立。这样可以免得用户不小心丢掉重要的文件!
      

  6.   

    fxy_2002(阿勇)的办法是可行的。