关于vb运行时错误 70 拒绝的权限
我用VB编了个软件但是发现复制后的文件不能运行运行的话就出现运行时错误70拒绝的权限但是原文件还是可以运行的怎么回事???...
我用VB编了个软件但是发现复制后的文件不能运行
运行的话就出现 运行时错误 70 拒绝的权限
但是原文件还是可以运行的
怎么回事??? 展开
运行的话就出现 运行时错误 70 拒绝的权限
但是原文件还是可以运行的
怎么回事??? 展开
展开全部
告诉你不能运行的原因吧.这有助于你以后工作.
VB做的程序,所有编译出来的EXE文件需要的都是动态链接库.而C编的程序可以是静态链接库.所以,C编的程序生成EXE文件可以只复制一个EXE文件就能运行.而VB程序必须把它生成的EXE文件和编译时引用的类库和控件都复制到要运行的机器上才能运行.
动态链接导致了VB生成EXE时不能把运行时需要的类库和控件一起生成一个EXE文件,必须运行时,在注册表找到所需控件的位置进行加载.面静态的则可以把所需类库一起打包到EXE文件中
在使用动态链接库与使用静态库之间有一个折衷。如果你使用动态链接库,则你的所有用户程序都共享相同的代码副本。如果你使用静态库,则你的所有用户程序都需要复制相同的代码。例如,在USER32.DLL中,只有Windows API wsprintf函数的一个副本,但是试一试,想像在你所有静态链接的C程序中,在硬盘上将会有C printf函数二进制代码的多少个副本。如果你的用户具有大量使用相同的语言开发的程序,那么使用DLL将会得到一定的补偿。但是,一个用户只有一个用户该种语言开发的小程序,则该用户最终将会在支持DLL中有大量浪费的代码。在有些情况下,你确实想要一个单个的可执行文件,即使它很大并且可能是冗余的。
要想知道你的程序运行时要依赖哪些类库.微软的的Microsoft Visual Studio Tools下有一个Depands程序,它能帮你分析你的程序需要哪些类库.连同分析出的文件一起拷贝到目标机器,并把类库注册就行了.
VB做的程序,所有编译出来的EXE文件需要的都是动态链接库.而C编的程序可以是静态链接库.所以,C编的程序生成EXE文件可以只复制一个EXE文件就能运行.而VB程序必须把它生成的EXE文件和编译时引用的类库和控件都复制到要运行的机器上才能运行.
动态链接导致了VB生成EXE时不能把运行时需要的类库和控件一起生成一个EXE文件,必须运行时,在注册表找到所需控件的位置进行加载.面静态的则可以把所需类库一起打包到EXE文件中
在使用动态链接库与使用静态库之间有一个折衷。如果你使用动态链接库,则你的所有用户程序都共享相同的代码副本。如果你使用静态库,则你的所有用户程序都需要复制相同的代码。例如,在USER32.DLL中,只有Windows API wsprintf函数的一个副本,但是试一试,想像在你所有静态链接的C程序中,在硬盘上将会有C printf函数二进制代码的多少个副本。如果你的用户具有大量使用相同的语言开发的程序,那么使用DLL将会得到一定的补偿。但是,一个用户只有一个用户该种语言开发的小程序,则该用户最终将会在支持DLL中有大量浪费的代码。在有些情况下,你确实想要一个单个的可执行文件,即使它很大并且可能是冗余的。
要想知道你的程序运行时要依赖哪些类库.微软的的Microsoft Visual Studio Tools下有一个Depands程序,它能帮你分析你的程序需要哪些类库.连同分析出的文件一起拷贝到目标机器,并把类库注册就行了.
展开全部
因为复制文件与自身文件重名!
例如:
FileCopy App.Path & "\" & App.EXEName & ".exe", "c:\test.exe"
编译后保存到:
C:\test.exe
这时候你运行C:\test.exe就会出现这个错误
解决方法:把复制品路径或者文件名改一下就可以了
例如:
FileCopy App.Path & "\" & App.EXEName & ".exe", "c:\test.exe"
编译后保存到:
C:\test.exe
这时候你运行C:\test.exe就会出现这个错误
解决方法:把复制品路径或者文件名改一下就可以了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、试图用Output或Append方式打开写保护的文件。
2、试图写一个被其他程序打开的文件。
3、试图写注册表,但没有相应的权限。
2、试图写一个被其他程序打开的文件。
3、试图写注册表,但没有相应的权限。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是缺少了关联文件.先把复制后的文件改名成原来的文件试试.
你是复制到别的机子上还是哪里?
你是复制到别的机子上还是哪里?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以发过来我看看吗?我把正确的半小时之内给你发回去
我的油箱忘了告诉你,zhang8588@163.com
我的油箱忘了告诉你,zhang8588@163.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询