自从TRex漫游以来,我就一直在编码VB6,但是突然间,我们的一些客户开始遇到几十年来运行良好的应用程序的问题。
问题似乎是当应用程序反复打开,附加和关闭文件时。我从未能够在任何我可以访问的计算机上重现该错误。我有点猜测这是问题所在,并更改了程序以缓冲内容并立即将其全部写入,客户的问题似乎已解决。
最近,我也遇到了以下情况:跳过了几行,并打印了一行充满垃圾字符的行。就像已分配但从未清除的旧C字符串缓冲区。
该代码没什么特别的,是标准的VB6文件访问代码。我的问题分为两个部分。1.这是别人发生的吗?2.如果是,您是否找到了原因?
我的原因是系统处于某种资源压力之下,并且某些深层C代码未启用。
这里是代码:
Dim nFileWrite As Integer
nFileWrite = FreeFile
Open fnAddBkSlash(sReadFilePath) & sWriteFileName For Append As #nFileWrite
Print #nFileWrite, sLineContents
Close nFileWrite
该代码段是否已完成,或者您是否已删除该行以检索下一个免费文件号?
Dim nFileWrite As Integer
nFileWrite = FreeFile 'retrieve free file number
Open fnAddBkSlash(sReadFilePath) & sWriteFileName For Append As #nFileWrite
Print #nFileWrite, sLineContents
Close nFileWrite
只是想知道在尝试编写该行之前,如果没有专门检索新文件号,输出是否会偶尔丢失。