Search Tools Links Login

Add Error log to your projects - no changing code!


Visual Basic 6, or VB Classic

This is a drop in replacement for the VB Message box routine (MsgBox). It will log to a file all messages that you display to the user that are marked with vbCritical. This routine also expands the standard VB Messagebox by giving you the developer the ability to log to file, even if you don't set vbCritical.

Original Author: Jason Monroe

Inputs

Same as MsgBox

Assumptions

Insert this code into a module, will not work properly if placed in a class

Returns

Same as MsgBox

Code

Public Function MsgBox(Prompt As String, Optional Buttons As VbMsgBoxStyle = vbOKOnly, Optional Title As String, Optional HelpFile As String, Optional Context As Single, Optional LogToFile As Boolean = False) As VbMsgBoxResult
Dim strErrorLog As String
Dim iFileHandle As Integer
Dim strErrorTitle As String
Dim iResult As Integer

iFileHandle = FreeFile
strErrorTitle = App.EXEName & " : " & Title
strErrorLog = App.Path & "" & App.EXEName & ".log"
' Force error loging on all critical messages
If (Buttons And vbCritical) Then
LogToFile = True
End If
' if the user has choosen to log, or it's a critical message, log it
If LogToFile = True Then
Open strErrorLog For Append As #iFileHandle
Print #iFileHandle, Now, Prompt
Close #iFileHandle
End If
' Call the real message box routine
iResult = VBA.MsgBox(Prompt, Buttons, strErrorTitle, HelpFile, Context)
MsgBox = iResult
End Function

About this post

Posted: 2002-06-01
By: ArchiveBot
Viewed: 118 times

Categories

Visual Basic 6

Attachments

No attachments for this post


Loading Comments ...

Comments

No comments have been added for this post.

You must be logged in to make a comment.