用VB6生成的EXE 不能在另外的机子打开 没有提示只“嘀”的响一声
本帖最后由 thomas_top 于 2011-10-13 17:00:54 编辑 注意一下你的引用列表,比如什么库之类.另外,直接这样消失了,你是不是使用子类化或者HOOK或者COPYMONEY之类的函数?
在B机滴地一声啥都没有以后,打开任务管理器,查看有没有相应的进程.
生成安装包,安装也不行,是不是有某个控件没有打包.
建议在A上做一个最简单的程序,1.不用外部控件,编译后到B机进行测试;2.分别用你的程序中的各控件之一,做同样的试验. 很可能是你没有把程序用到的所有库都引入安装包.
还有可能是没有把第三方控件安装到指定位置.
是不是在“BB机”嘀的声响啊?
哥们。。你说对了。。是用到了COPYMEMORY这样的函数。。
那怎么解决呢?
回楼上几个哥们的话:
控件没有问题的。。我新建一工程把控件放进去。然后到B机运行。正常的
copymemory这类函数是在控件内使用的。
但如果在本机编译生成EXE的话。。可以正常使用
偶想知道VB生成EXE的过程。都执行了哪行动作? http://www.vbgood.com/thread-70049-1-1.html
这是那个控件的网址和例程 看了说明就觉得可能是杭州元帅的那个控件,下载后一看,果然就是,哈哈.
这个控件代码也还是不少,而且我们手里也没有你的工程代码,只能给你说说调试的方法,但具体调试得你自己实施.
先要确定出问题的代码段.
简单点,就在启动的过程里放Msgbox,这样一路点过去,到哪一个没弹了,就能知道出问题的代码段了.
如果不想在用户那里如此工作,那也可以调用debugoutputstring,然后让用户运行dbgview程序,对你程序输出的日志进行记录,再发回来.
总之都是一个意思,就是先要判断代码的执行情况,执行到哪一段挂了的,再不断地进入过程中间,最终确定具体的代码.
对于有时序要求的语句,例如WINSOCK的事件这类,就不适合使用对话框了,推荐debugoutputstring或输出运行日志到文件.
这样一旦得到了具体出错语句,再分析起来,大家才有可能帮到你.
不然谁也没办法...... 多谢myjian。
工程项目就是原生的。没有修改过。。调试都不能过。哪能用在项目上啊。。汗。。
在调用catch.ocx中。有些引用控件中的过程是可以的。。但有些是不行。
而且出现的问题是启动时都没用任何提示。就没了。。界面都没提示下。
在界面的初始化过程中根本就没调用控件中的过程,
由于初学VB,很多地方不明白。
您如果有时间可以把控件下载下来生成EXE文件之后,再到另外一台机或虚拟机上运行下就知道是什么问题。。
感谢您的回答!
补充:VB , 基础类