Я работаю над преобразованием частей проекта VB6 в VB.Net, и есть некоторые сегменты кода, с которыми у меня возникают проблемы, потому что я не могу найти альтернативы для кода VB6 в VB.Net.Вот кодовый блок, о котором идет речь:
Public Sub ProcessError(ByVal strModule As String, ByVal strProcedure As String, _
ByVal strDescription As String, ByVal bLogError As Boolean, _
ByVal bShowError As Boolean, Optional ByVal strMsg As String)
On Error GoTo 100
Dim intFile As Integer: Dim strPathName As String
strPathName = AddBackSlash(gsLogPath) & gsErrLogName
If bLogError = True Then
If GetFileSize(strPathName) > gcuMaxLogFileSize Then
Call CopyFile(strPathName, strPathName & ".bak")
Call DeleteFile(strPathName)
End If
intFile = FreeFile
Open strPathName For Append As #intFile
Write #intFile, Format(Now, "MMM-DD-YYYY HH:MM:SS AMPM"), strModule, strProcedure, strDescription)
Close #intFile
End If
If bShowError Then
Call Prompt("Error occurred in " & strModule & vbCrLf & "Error Description :" & strDescription, 1, vbRed)
End If
Exit Sub
100:
Close #intFile
End Sub
Итак, у меня возникли следующие проблемы:
Open strPathName For Append As #intFile
Write #intFile
Close #intFile
Я понимаю, что, вероятно, мне следует использовать объект StreamWriter
вместо них, но то, что отталкивает меня, это раздел «Ошибка».Если выдается ошибка и она достигает отметки 100
, как будет работать Close #intFile
, если она еще не была открыта или создана?
Для большинства других неприятностей преобразования, с которыми я столкнулся припортирование этого на этот вопрос меня смущает больше всего, поэтому любая помощь приветствуется.Спасибо за ваше время.