RE: POPUp - VB.Net
- From: Komandur Kannan <kannan@xxxxxxxxxxxxxxx>
- Date: Mon, 2 Oct 2006 23:46:01 -0700
Hi Jeffrey Tan,
Thanks for the reply. I checked the ID it is different from the main
form to the running class. the Issue is that my program sholud not stop any
where when the error ocurs. The error may oocur any time but it sholud not
fail any of my other process.. the POPup sholud occur to say that its a
warning to the User not to stop the process. the user will rectify the
problem. Until then the error has to occur in pop-up once the user clears the
error the popup sholud not occur.
What is my process all about
------------------------------------
1. I use winsock control to send the mails (SMTP). I collect
the data from the database and start sending to the coresoponding Users.
2. I also simultaneouly get the mails from the mailserver and
insert in to the coressponding tables. There are two different POP servers to
get the data
What is my future
--------------------
The future is that I ll load my program with more number of process Like It
will download mail simultaneouly it will send mail in the mean time It will
upload the file using FTP. I ll also use some of the main service to run in
the same program. This is my goal. Such that the user can view all the
process in one window.
Short decription
------------------
As you have asked the Code I have attached the code please look thru it
There is a frmstest form in that I have three threads and one timer called
the sup_timer. It checks every now an then wether the next duration is
reaching are not. when it reach the thread will get fired. If any of the
thread gets a problem I ll call the Class error to write in to it in the file
and the window sholud popup.
This is my code (Code starts hear)
------------------
Frmtest sample
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
'-----------------------------------------------------------------------------
'This is th main form used for all the process
'SMTP POP Eprocess and goes on... each an every process is in each an every
tab
'the process is loded in a timSup_Tick and a thread is been called inside
the timer
'the form load event starts initailiy It checks any previous instance
running in the process
'this enables the timSup_Tick
'this form has many functions and a class called clsStatus this is used to
check if thwe thread is started
'Functions are declared as private level
' for each an every function there working has been said above the function
'-----------------------------------------------------------------------------
Imports System.Threading
Imports System.IO
Imports MSWinsockLib
Imports System.Text.RegularExpressions
Public Class Testsample
Inherits System.Windows.Forms.Form
' genrenal declaration of the classs POP Form level declaratioon
Dim WithEvents objPOPCust As clsPOP
Dim WithEvents objPOPSupp As clsPOP
'genereal declaration of the class Sendrecieve SMTP
Dim WithEvents objSmtpCust As clsSendrecieve
'Declaration of the Clsdeclaration for more about this class go to this
class
Dim objClsDecCust, objClsDecSupp, objSMTPClsDecCust As clsDeclaration
'Declaraing the Threrad
Dim objThreadCust, objThreadSupp, objSMTPThreadCust As Thread
'Declaring individual connection object for each an every POP
Public connSupp, connCust As OleDb.OleDbConnection
'Declaring the objects for the Clsstatus
Dim objclsStatusPOPcust, objClsStatusPOPsup, objclsStatusSMTP As clsStatus
'This is used for handling the golabal variable like user name password
host and port
Dim objClsGenereal As New clsGenreal
Dim lstrSMTPExpectTime, lstrPOPCustExpectTime, lstrPOPSupExpectTime As
String
Private Sub sample_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Try
If PrevInstance() = True Then
' Get all previous instances
Dim lprosActivate As Process
Dim Processes() As Process
Processes =
Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)
' Activate the first instance
If Diagnostics.Process.GetCurrentProcess.Id =
Processes(0).Id Then
Dim handle As IntPtr = Processes(1).MainWindowHandle
ShowWindow(handle, 1)
SetForegroundWindow(handle)
Else
Dim handle As IntPtr = Processes(0).MainWindowHandle
ShowWindow(handle, 1)
SetForegroundWindow(handle)
End If
' Exit the current instance
Application.Exit()
Exit Sub
End If
ntfyPOP.Visible = False
' Initializing the Lables with current date
' This is used for checking the next process time to get runned
lblPopCustProcessSt.Text = Format(Now, "MM/dd/yyyy HH:mm:ss")
lblPOPCustSchedule.Text = Format(Now, "MM/dd/yyyy HH:mm:ss")
lblPOPSUPProcesST.Text = Format(Now, "MM/dd/yyyy HH:mm:ss")
lblPOPSUPSchedule.Text = Format(Now, "MM/dd/yyyy HH:mm:ss")
lblSMTPCUSTProcesST.Text = Format(Now, "MM/dd/yyyy HH:mm:ss")
lblSMTPCUSTSchedule.Text = Format(Now, "MM/dd/yyyy HH:mm:ss")
'Initailizing the Status variable this variable is used to check
' if the current process is running or not
objclsStatusPOPcust = New clsStatus
objClsStatusPOPsup = New clsStatus
objclsStatusSMTP = New clsStatus
Dim objcls As New clsDeclaration
objClsGenereal = objcls.mprPOPLoadconnectivity()
'This is used to set the time interval forthe
timSup.Interval = 100
timSup.Enabled = True
Catch ex As Exception
Dim objerr As New clsErr
Call objerr.gfnErrorFile("sample_Load", ex)
objerr = Nothing
End Try
End Sub
'this is used to check if there is any previous instance created for
this form
Private Function PrevInstance() As Boolean
If
Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName).Length > 1 Then
Return True
Else
Return False
End If
End Function
'This is the function the thread call it for processing the POP in the
supplier end
Private Sub mprSMTPCustomer()
Try
'Creating a new insatance
objSMTPClsDecCust = New clsDeclaration
'Initailizing the global variable
objSMTPClsDecCust.Password = objClsGenereal.gstrGSUPSMTPPass
objSMTPClsDecCust.RemotePort =
CInt(objClsGenereal.gstrGSUPSMTPRemotePort)
objSMTPClsDecCust.RemoteHost =
objClsGenereal.gstrGSUPSMTPRemoteHost
objSMTPClsDecCust.UserName = objClsGenereal.gstrGSUPSMTPUser
'Inializing the send reciecve class with the concurrent objects
objSmtpCust = New clsSendrecieve(objSMTPClsDecCust,
gstrSMTPMDBPath_I, "Pendmail")
'to call the connect
objSmtpCust.mfnConnect()
Catch ex As Exception
objclsStatusSMTP.gblNxtStart = False
Dim objerr As New clsErr
Call objerr.gfnErrorFile("mprSMTPCustomer", ex, , "SMTPErr")
objerr = Nothing
End Try
End Sub
Private Sub mprPOPCustomer()
'POP to Connect to the Customer
Try
'Creating a new insatance
objClsDecCust = New clsDeclaration
'Initailizing the global variable
objClsDecCust.Password = objClsGenereal.gstrGCUSTPOPPass
objClsDecCust.RemotePort =
CInt(objClsGenereal.gstrGCUSTPOPRemotePort)
objClsDecCust.RemoteHost = objClsGenereal.gstrGCUSTPOPRemoteHost
objClsDecCust.UserName = objClsGenereal.gstrGCUSTPOPUser
'Inializing the pop class with the concurrent objects
objPOPCust = New clsPOP(objClsDecCust, "PopCustErr")
objPOPCust.ConnectPOP()
Catch ex As Exception
objclsStatusPOPcust.gblNxtStart = False
Dim objerr As New clsErr
Call objerr.gfnErrorFile("mprPOPSMTP", ex, , "CustPopErr")
timCust.Enabled = True
objerr = Nothing
End Try
End Sub
Private Sub mprPOPSupplier()
'POP to Connect to the Supplier
Try
'Creating a new insatance for the Declaration
objClsDecSupp = New clsDeclaration
objClsDecSupp.Password = objClsGenereal.gstrGSUPPOPPass
objClsDecSupp.RemotePort =
CInt(objClsGenereal.gstrGSUPPOPRemotePort)
objClsDecSupp.RemoteHost = objClsGenereal.gstrGSUPPOPRemoteHost
objClsDecSupp.UserName = objClsGenereal.gstrGSUPPOPUser
objPOPSupp = New clsPOP(objClsDecSupp, "POPSupErr")
objPOPSupp.ConnectPOP()
Catch ex As Exception
Dim objerr As New clsErr
Call objerr.gfnErrorFile("mprPOPSMTP", ex, , "SupPopErr")
objerr = Nothing
timSup.Enabled = True
End Try
End Sub
Private Sub timSup_Tick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles timSup.Tick
Try
' Logic
' This timer will be in the enable state all the time
' as an when this timer gets fired
' this will check for the shedule If the Schudle time is less
tan are eual to the current time the
' thread gets fired. As the thread gets fired a global varialble
is set to true for the next pass
' once the thread clears the process the global variable is set
to false
If lblSMTPCUSTSchedule.Text <= Format(Now, "MM/dd/yyyy
HH:mm:ss") Then
If objclsStatusSMTP.gblNxtStart = False Then
'this starts the SMTP Process
lblSMTPCUSTProcesST.Text = Format(Now, "MM/dd/yyyy
HH:mm:ss")
lblSMTPCUSTSchedule.Text =
Format(DateAdd(DateInterval.Minute, gstrFetchingTime, Now), "MM/dd/yyyy
HH:mm:ss")
objSMTPThreadCust = New Thread(AddressOf mprSMTPCustomer)
If lstCustSMTPStatus.Items.Count > 1000 Then
lstCustSMTPStatus.Items.Clear()
End If
objSMTPThreadCust.Start()
objclsStatusSMTP.gblNxtStart = True
Else
lstrSMTPExpectTime =
System.Math.Abs(DateDiff(DateInterval.Second, CDate(Now),
CDate(lblSMTPCUSTSchedule.Text)))
End If
Else
lstrSMTPExpectTime =
System.Math.Abs(DateDiff(DateInterval.Second, CDate(Now),
CDate(lblSMTPCUSTSchedule.Text)))
End If
If lblPOPSUPSchedule.Text <= Format(Now, "MM/dd/yyyy HH:mm:ss")
Then
If objClsStatusPOPsup.gblNxtStart = False Then
' 'This starts the Supplier pop
lblPOPSUPProcesST.Text = Format(Now, "MM/dd/yyyy
HH:mm:ss")
lblPOPSUPSchedule.Text =
Format(DateAdd(DateInterval.Minute, gstrFetchingTime, Now), "MM/dd/yyyy
HH:mm:ss")
connSupp = New OleDb.OleDbConnection
If mfnDBConnection(connSupp, "SupPopErr") = True Then
objThreadSupp = New Thread(AddressOf mprPOPSupplier)
If SupplierStatus.Items.Count > 1000 Then
SupplierStatus.Items.Clear()
End If
objThreadSupp.Start()
objThreadSupp.Join()
End If
objClsStatusPOPsup.gblNxtStart = True
Else
lstrPOPSupExpectTime =
System.Math.Abs(DateDiff(DateInterval.Second, CDate(Now),
CDate(lblPOPSUPSchedule.Text)))
End If
Else
lstrPOPSupExpectTime =
System.Math.Abs(DateDiff(DateInterval.Second, CDate(Now),
CDate(lblPOPSUPSchedule.Text)))
End If
If lblPOPCustSchedule.Text <= Format(Now, "MM/dd/yyyy HH:mm:ss")
Then
If objclsStatusPOPcust.gblNxtStart = False Then
lblPopCustProcessSt.Text = Format(Now, "MM/dd/yyyy
HH:mm:ss")
lblPOPCustSchedule.Text =
Format(DateAdd(DateInterval.Minute, gstrFetchingTime, Now), "MM/dd/yyyy
HH:mm:ss")
connCust = New OleDb.OleDbConnection
If mfnDBConnection(connCust, "CustPopErr") = True Then
objThreadCust = New Thread(AddressOf mprPOPCustomer)
If Status.Items.Count > 1000 Then
Status.Items.Clear()
End If
objThreadCust.Start()
objThreadCust.Join()
End If
objclsStatusPOPcust.gblNxtStart = True
Else
lstrPOPCustExpectTime =
System.Math.Abs(DateDiff(DateInterval.Second, CDate(Now),
CDate(lblPOPCustSchedule.Text)))
End If
Else
lstrPOPCustExpectTime =
System.Math.Abs(DateDiff(DateInterval.Second, CDate(Now),
CDate(lblPOPCustSchedule.Text)))
End If
'This is used to show the Expected time in the Status bar
stbDateTime.Text = Format(Now(), "MM/dd/yy HH:mm:ss")
Select Case tabPOP3.SelectedIndex
Case 0
Select Case tabPOP3Child.SelectedIndex
Case 0
stbPending.Text = "Expected to Run at: " &
lstrPOPCustExpectTime & " Sec"
Case 1
stbPending.Text = "Expected to Run at: " &
lstrPOPSupExpectTime & " Sec"
End Select
Case 1
Select Case TabChildSMTP.SelectedIndex
Case 0
stbPending.Text = "Expected to Run at: " &
lstrSMTPExpectTime & " Sec"
End Select
End Select
Catch ex As Exception
Dim objerr As New clsErr
Call objerr.gfnErrorFile("timSup_Tick", ex, "SupPopErr")
objerr = Nothing
End Try
End Sub
Private Sub Testsample_SizeChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.SizeChanged
If (Me.WindowState = FormWindowState.Minimized) Then
ntfyPOP.Visible = True
MyBase.Hide()
End If
End Sub
Private Sub Testsample_Closed(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.Closed
ntfyPOP.Visible = False
ntfyPOP.Dispose()
End Sub
Private Sub ntfyPOP_DoubleClick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles ntfyPOP.DoubleClick
ntfyPOP.Visible = False
Me.Show()
Me.WindowState = FormWindowState.Normal
End Sub
End Class
Public Class clsStatus
Public gblNxtStart As Boolean
Public gblnProcessNow As Boolean
End Class
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Class ClsErr starts
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
' This is an Error class filer
Imports System.Threading
Imports System.io
Public Class clsErr
#Region "gfnErrorFile"
Public Function gfnErrorFile(ByVal str1 As String, ByVal ex As
Exception, Optional ByVal str2 As String = "", Optional ByVal tempPath As
String = "", Optional ByRef objclsStatus As clsStatus = Nothing)
Try
Dim path As String = Environment.GetEnvironmentVariable("temp")
Dim txtpath As String
If Not (Directory.Exists(path)) Then
Dim di As DirectoryInfo = Directory.CreateDirectory(path)
End If
If tempPath = "" Then
txtpath = path & "\POPErr.txt"
Else
txtpath = path & "\" & tempPath & ".txt"
End If
If Not (File.Exists(txtpath)) Then
Dim fs As FileStream = File.Create(txtpath)
fs.Close()
End If
FileOpen(2, txtpath, OpenMode.Append)
Print(2, TAB(3), "Error Occured in")
Print(2, TAB(3), "Function : " & str1)
Print(2, TAB(3), "The Error is :")
Print(2, TAB(3), ex.Message)
Print(2, TAB(3), "The data is :")
Print(2, TAB(3), str2)
Print(2, TAB(3), "The Source is :")
Print(2, TAB(3), ex.Source)
Print(2, TAB(3), "Error Occured at :")
Print(2, TAB(3), Now())
PrintLine(2, TAB(1),
"------------------------------------------------------------------------------------------------------")
FileClose(2)
mdlGeneral.frmErr.lstError.Items.Add("Error Occured @: " & Now()
& " " & ex.Message)
If lblShowdialog <> True Then
lblShowdialog = True
mdlGeneral.frmErr.Show()
End If
'If Not objclsStatus Is Nothing Then
' objclsStatus.gblNxtStart = False
'End If
Catch ex1 As Exception
End Try
End Function
#End Region
#Region "gfnErrFile"
Public Function gfnErrFile(ByVal str1 As String, Optional ByVal str2 As
String = "", Optional ByVal tempPath As String = "")
Try
Dim path As String = Environment.GetEnvironmentVariable("temp")
If Not (Directory.Exists(path)) Then
Dim di As DirectoryInfo = Directory.CreateDirectory(path)
End If
'Dim txtpath As String = path & "\POPError.txt"
Dim txtpath As String
If tempPath = "" Then
txtpath = path & "\POPError.txt"
Else
txtpath = path & "\" & tempPath & ".txt"
End If
If Not (File.Exists(txtpath)) Then
Dim fs As FileStream = File.Create(txtpath)
fs.Close()
End If
FileOpen(1, txtpath, OpenMode.Append)
Print(1, TAB(3), "Error Occured in")
Print(1, TAB(3), str1)
Print(1, TAB(3), str2)
Print(1, TAB(3), "Error Occured at :")
Print(1, TAB(3), Now())
PrintLine(1, TAB(1),
"------------------------------------------------------------------------------------------------------")
FileClose(1)
mdlGeneral.frmErr.lstError.Items.Add("Error Occured @: " & Now()
& " " & str1 & str2)
If lblShowdialog <> True Then
lblShowdialog = True
mdlGeneral.frmErr.Show()
End If
Catch ex As Exception
End Try
End Function
#End Region
End Class
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Module
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
'-----------------------------------------------------------
'This is a Module which can be globally acced from this form
'-----------------------------------------------------------
Imports System.io
Imports System.Data.OleDb
Imports System.Runtime.Serialization.Formatters.Binary
Module mdlGeneral
'Declaration
Public gconnMDB_I As OleDb.OleDbConnection
Public gtrnAcc As OleDb.OleDbTransaction
Public Const gstrGPOPRemoteHost As String = "RemoteHost ="
Public Const gstrGPOPRemotePort As String = "RemotePort ="
Public Const gstrGPOPUser As String = "User ="
Public Const gstrGPOPPass As String = "Pass ="
Public Const gstrCust As String = "CUSTPOP"
Public Const gstrSup As String = "SUPPOP"
Public Const gstrSMTPSup As String = "SMTPSUPPOP"
Public Const gstrVersion As String = "POP-SMTP"
Public Const gstrOk As String = "+OK"
Public Const gstrStat As String = "STAT"
Public Const gstrQuit As String = "QUIT"
Public Const gstrList As String = "List "
Public Const gstrRetr As String = "RETR "
Public Const gstrDele As String = "DELE "
Public Const gintSleeptim As Integer = 0
Public Const gintMaxLoop As Integer = 40
'Public gstrPOPMDBPath_I As String = "Provider=vfpoledb.1;Data
Source=h:\Development\Chandlers\Sales\Commercial\Data;Collating
Sequence=Machine"
'Public gstrSMTPMDBPath_I As String = "Provider=vfpoledb.1;Data
Source=h:\Development\Chandlers\Sales\Commercial\Data;Collating
Sequence=Machine"
Public gstrPOPMDBPath_I As String = "Provider=vfpoledb.1;Data
Source=\\exeaim\Chandlers\Sales\Commercial;Collating Sequence=Machine"
Public gstrSMTPMDBPath_I As String = "Provider=vfpoledb.1;Data
Source=\\exeaim\Chandlers\Sales\Commercial;Collating Sequence=Machine"
Public Const gstrFetchingTime As Integer = 15 ' Every 15 min the data
gets fetched
Public Const gstrFrom As String = "From:"
Public Const gstrTo As String = "To:"
Public Const gstrCc As String = "Cc:"
Public Const gstrSubject As String = "Subject:"
Public gobjLocalConn As New OleDbConnection 'Connection
object with the Local SQL Server
Public gobjLocalTran As OleDbTransaction 'Connection
object with the Local SQL Server
Public gSqlcmd As OleDbCommand
Public lblShowdialog As Boolean
Public frmErr As New frmErr
Public gblnSave As Boolean
Public gblnOpenStatus As Boolean
Public Const gstrMailFrom As String = "eprocessor@xxxxxxxxxxxxxxxxxx"
Public Enum NxtPop
Quit
User
Pass
Stat
Retr
List
End Enum
Public Enum PopSck
sckClosed
sckOpen
sckListening
sckConnectionPending
sckResolvingHost
sckResolved
sckConnecting
sckConnected
sckClosing
sckError
End Enum
Public frmSetting As New frmSetting
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'Public Declare Function SetForegroundWindow Lib "User32.dll" Alias
"SetForegroundWindow" (ByVal hWnd As Long) As Integer
'Used for checking the Previous process is running
<System.Runtime.InteropServices.DllImport("user32.dll", _
EntryPoint:="SetForegroundWindow", _
CallingConvention:=Runtime.InteropServices.CallingConvention.StdCall, _
CharSet:=Runtime.InteropServices.CharSet.Unicode, SetLastError:=True)> _
Public Function SetForegroundWindow(ByVal handle As IntPtr) As Boolean
' Leave function empty
End Function
<System.Runtime.InteropServices.DllImport("user32.dll", _
EntryPoint:="ShowWindow", _
CallingConvention:=Runtime.InteropServices.CallingConvention.StdCall, _
CharSet:=Runtime.InteropServices.CharSet.Unicode, SetLastError:=True)> _
Public Function ShowWindow(ByVal handle As IntPtr, _
ByVal nCmd As Int32) As Boolean
' Leave function empty
End Function
Public Sub gprErrorHandler(ByVal ProcNm As String, Optional ByVal frm As
Form = Nothing)
Cursor.Current = Cursors.Default
MsgBox(Err.Description, MsgBoxStyle.Information, gstrVersion)
End Sub
Public Function mfnDBConnection(ByRef conn As OleDb.OleDbConnection,
Optional ByVal Errpath As String = "") As Boolean
'Function that connects to the choosen database
Try
gconnMDB_I = conn
conn.ConnectionString = gstrPOPMDBPath_I
If conn.State <> ConnectionState.Connecting And conn.State =
ConnectionState.Closed Then
Call conn.Open()
mfnDBConnection = True
End If
Catch ex As Exception
Dim objerr As New clsErr
Call objerr.gfnErrorFile("mfnDBConnection", ex, , Errpath)
objerr = Nothing
End Try
End Function
Public Sub mfnCloseconn(ByRef conn As OleDb.OleDbConnection)
Try
'Function to close the choosen database
gconnMDB_I = conn
If gconnMDB_I.State = ConnectionState.Open Then
Call gconnMDB_I.Close()
End If
Catch ex As Exception
Dim objerr As New clsErr
Call objerr.gfnErrorFile("mfnCloseconn", ex)
objerr = Nothing
End Try
End Sub
Public Function gfnExecuteAcc(ByVal Sql As String, ByVal PersistTran As
Boolean, Optional ByVal BeginTran As Boolean = False, Optional ByVal
CommitTran As Boolean = False) As Boolean
Try
'Funciton will execute the access query
'If PersistTran is set to True ...then global transaction
varible will be used for executing query
'If PersisTran is set to True and BeginTran is also true...then
global Transaction will BEGIN
'If PersisTran is set to True and CommitTran is also true...then
global Transaction will get COMMIT
Dim cmd As New OleDb.OleDbCommand
Dim ltrnAcc As OleDb.OleDbTransaction
If PersistTran = True Then
If BeginTran = True Then gtrnAcc = gconnMDB_I.BeginTransaction
cmd = New OleDb.OleDbCommand(Sql, gconnMDB_I)
cmd.Transaction = gtrnAcc
cmd.ExecuteNonQuery()
If CommitTran = True Then gtrnAcc.Commit()
Else
cmd = New OleDb.OleDbCommand(Sql, gconnMDB_I)
cmd.Transaction = ltrnAcc
cmd.ExecuteNonQuery()
End If
gfnExecuteAcc = True
Catch ex As Exception
If PersistTran = True Then gtrnAcc.Rollback() 'Rollback
'Call gprErrorHandler("gfnExecuteAcc")
Dim objerr As New clsErr
Call objerr.gfnErrorFile("gfnExecuteAcc", ex, Sql)
objerr = Nothing
End Try
End Function
End Module
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Error POPup form
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
'This is a Error Form when the erro occurs this form gets fired
Public Class frmErr
Inherits System.Windows.Forms.Form
Private Sub frmErr_Closed(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.Closed
lblShowdialog = False
End Sub
End Class
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Parameswaran.N
.
- Follow-Ups:
- RE: POPUp - VB.Net
- From: Yan-Hong Huang[MSFT]
- RE: POPUp - VB.Net
- References:
- RE: POPUp - VB.Net
- From: "Jeffrey Tan[MSFT]"
- RE: POPUp - VB.Net
- Prev by Date: Re: Dev environment keeps lower casing my file names
- Next by Date: "Could not instantiate the resource processor" still occurs
- Previous by thread: RE: POPUp - VB.Net
- Next by thread: RE: POPUp - VB.Net
- Index(es):
Relevant Pages
|