搞了个系统的程序,是基于VB开发的,生成那个.exe文件之后,为什么不在VB的环境下不能正常运行?

这个是不是就是这样?必须在VB的环境下才能运行?求高手解答,小弟在这里谢过。... 这个是不是就是这样?必须在VB的环境下才能运行?求高手解答,小弟在这里谢过。 展开
 我来答
dreawer
2012-06-04 · 超过12用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:29.5万
展开全部
要想在其他电脑上运行VB编译的EXE文件,有两种情况需要区别对待:

一、直接运行。如果你编写的程序没有“引用”或通过“部件”加入其他控件,而直接使用工具箱内默认的控件(如:textbox,listbox,Picturebox等),那么,你编译的EXE文件就可以在安装win98及以上版本的电脑上直接运行。
二、安装运行。除第一点情况以外,你编译的EXE文件都必须通过打包的形式形成安装包,然后在其他的电脑上先进行安装,最后才能正确的运行。
打包的方法如下:
1、编译成EXE文件;
2、通过VB自带的“Package & Deployment 向导”对该工程进行打包,最后生成安装包setup.exe setup.lst等关键文件。这时,你只有把它们复制到其他电脑上并进行安装,即可正确使用该软件了
风雪剑无痕
2012-06-04 · TA获得超过1253个赞
知道大有可为答主
回答量:1691
采纳率:100%
帮助的人:1655万
展开全部
Private Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long

Function IsRunUnderVB6() As Boolean
Dim S As String, Length

Length = 256
S = String(Length, 0)
Call GetModuleFileName(0, S, Length)
S = Left(S, InStr(S, Chr(0)) - 1)
IsRunUnderVB6 = UCase(Right(S, 7)) = "VB6.EXE"
End Function

Private Sub Form_Load()
If IsRunUnderVB6 = False Then MsgBox "错误": Unload Me
End Sub

在vb环境下运行和生成exe后运行之间看看有没有区别
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱问西瓜爱答树
2012-06-04 · TA获得超过1760个赞
知道小有建树答主
回答量:890
采纳率:50%
帮助的人:280万
展开全部
你应该调用了其他的控件吧(原来不能在工具栏找到的)。生成的exe文件可是要调用这个控件的ocx文件的。用package程序包起来,生成安装包。就可以在其他机子上运行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wahtung
2012-06-04
知道答主
回答量:10
采纳率:0%
帮助的人:6.7万
展开全部
将你的程序打包安装就可以了。可以用VB自带的打包安装工具,也可以用其他打包安装工具。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
coolsport
2012-06-04 · TA获得超过193个赞
知道小有建树答主
回答量:494
采纳率:0%
帮助的人:201万
展开全部
主要是你打包的时候可能没有吧你的相关组件打包进去,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fpty1313
2012-06-04
知道答主
回答量:33
采纳率:0%
帮助的人:20万
展开全部
应该是调用了其他的控件(在工程属性里面添加的),简单点的话,将原始的OCX或DLL文件放到你生成的EXE文件同一目录或放到C:\WINDOWS\SYSTEM32目录下即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式