当前位置:编程学习 > VB >>

VB诡异问题~编译后内存文件映射失败

本帖最后由 fdfun 于 2010-12-24 19:09:42 编辑 代码不完整吧?都没看到
#if debugger =1  then 
 Open *** for Output
#end if

否则,
#If Debugger = 1 Then
    Print #6, "创建文件映射"
    #End If
这里不会出错?? open 的代码在其他的模块里面
条件编译指令没有错
因为就算Debugger=0的时候也是报错的
条件编译指令只是用来找错误的
是在出错了以后才加上去的,毕竟编译后的错误就不能单步了 以下是运行日志(编译前在调试状态的运行日志):
收到数据流->存入2010122510435602615.bug
文档格式验证成功,确定为doc(x)文件格式
创建文件映射
取得失败码0:
映射到本地内存
储存文件,创建共享内存//exirr.doc|2010122510435603806.doc|R:\2010122510435603806.doc
进入检测过程
创建文件映射
取得失败码183:
映射到本地内存
映射已存在
等待服务器响应
向服务器发送请求2010122510435603806.doc
得到返回
========================================================================
编译后产生的日志:
收到数据流->存入2010122510513007056.bug
文档格式验证成功,确定为doc(x)文件格式
创建文件映射
取得失败码0:
映射到本地内存
储存文件,创建共享内存//exirr.doc|2010122510513008638.doc|R:\2010122510513008638.doc
进入检测过程
创建文件映射
取得失败码5:(Description是空的,由于是dllerror,查MSDN是Access_Denied)
<--在这里就报错返回了 应该是在err.raise的地方 失败码=183表明映射已存在这时返回的handle指向已存在的映射 用共享+只读模式打开看看.

如果你打开时对方正在进行写入,或使用了独占模式打开....
补充:VB ,  API
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,