怎样将控件打包到EXE,到使用时再释放?
同上 问题点数:20、回复次数:8Top
1 楼fxy_2002(阿勇)回复于 2005-03-01 16:33:22 得分 20
1)将ocx放到资源文件中,类型是自定义资源,编号 101
2)在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
如果有多个文件,循环处理。
Top
2 楼happy_sea(开心海(数据读取中,请稍候......))回复于 2005-03-01 18:20:34 得分 0
将以上代码放在Form_load中行不行?Top
3 楼fxy_2002(阿勇)回复于 2005-03-01 18:49:49 得分 0
大概不行!因为 form 初始化时就要用到控件,等到 load 事件发生时已经初始化完成了。如果初始化时没找到 ocx 文件,会发生一个错误。Top
4 楼Begin2008(重头再来)回复于 2005-03-01 18:58:32 得分 0
关注Top
5 楼daisy8675(莫依 沉迷)回复于 2005-03-01 19:01:51 得分 0
怎样将控件打包到EXE,到使用时再释放? ???
怎么不使用打包工具,还是我理解你的问题有误?Top
6 楼fxy_2002(阿勇)回复于 2005-03-02 08:22:14 得分 0
版主:楼主大概是不想打包,又不想一次发行多个文件,只想有一个exe文件,所以要这样处理。
比如我就经常将数据库放到资源文件中,然后在程序首次运行时从资源文件建立。这样可以免得用户不小心丢掉重要的文件!Top
7 楼Begin2008(重头再来)回复于 2005-03-03 14:10:06 得分 0
fxy_2002(阿勇)的办法是可行的。Top
8 楼Saytoyou(Cary)回复于 2005-03-10 11:34:26 得分 0
谢谢Top




