BUG: FileCopy Does Not Reset Err if Floppy is Write- Protected
ID: Q159975
|
The information in this article applies to:
-
Microsoft Visual Basic Standard, Professional, and Enterprise Editions for Windows, version 4.0
SYMPTOMS
The Err object is not reset after you try to copy a file to a write-
protected floppy disk and the FileCopy command fails with a "Permission
Denied" error. This makes it impossible to copy the file again, even after
you remove the write-protection on the floppy disk.
WORKAROUND
The Kill command is not affected in this way and can be carried out before
the FileCopy command. This enables the Kill command to detect the
"Permission Denied" error first and allows you to remove the write-
protection on the floppy disk before you carry out the FileCopy command. Do
the following:
Private Sub Command1_Click()
Dim source As String
Dim target As String
On Error GoTo err_handler
source = "c:\test.txt"
Open source For Output As #1
Write #1, "This is a test."
Close #1
target = "a:\test.txt"
If Dir(target) <> "" Then Kill target
FileCopy source, target
Exit Sub
err_handler:
If Err.Number = 70 Then
MsgBox "Permission denied. Please remove write-protection."
Resume
ElseIf Err.Number = 71 Then
MsgBox "Disk not ready. Please insert a disk."
Resume
End If
End Sub
STATUS
Microsoft has confirmed this to be an issue in the Microsoft products
listed at the beginning of this article. Microsoft is researching this
issue and will post new information here in the Microsoft Knowledge Base as
it becomes available.
MORE INFORMATION
Steps to Reproduce Problem
- Start a new project in Visual Basic. Form1 is created by default.
- Place a CommandButton, Command1, on Form1.
- Place the following code in the Command1_Click event:
Private Sub Command1_Click()
Dim source As String
Dim target As String
On Error GoTo err_handler
source = "c:\test.txt"
Open source For Output As #1
Write #1, "This is a test."
Close #1
target = "a:\test.txt"
FileCopy source, target
Exit Sub
err_handler:
If Err.Number = 70 Then
MsgBox "Permission denied. Please remove write-protection."
Resume
ElseIf Err.Number = 71 Then
MsgBox "Disk not ready. Please insert a disk."
Resume
End If
End Sub
- Run the project by pressing the F5 key.
- Insert a formatted disk in the floppy, and then click Command1. Text.txt
is copied to the floppy disk.
- Write-protect the disk and click Command1. An error message appears to
remove the write-protection.
- Remove write-protection and click Command1. Note that the same error
message appears.
Additional query words:
4.00 vb4win vb416
Keywords : kbnokeyword
Version : 4.00 | 4.00
Platform : NT WINDOWS
Issue type :