184 lines
9.0 KiB
VB.net
184 lines
9.0 KiB
VB.net
|
Imports System.Deployment.Application
|
|||
|
Imports System.IO
|
|||
|
Imports System.Reflection
|
|||
|
Imports iMESExceptionManager
|
|||
|
|
|||
|
Module modTest
|
|||
|
|
|||
|
Public Const defInteger As Integer = -999 '宣告整數使用的常數,用以辨識參數是否有傳入Function中。
|
|||
|
Public Const defString As String = "Null" '宣告字串使用的常數,用以辨識參數是否有傳入Function中。
|
|||
|
Public Const defDateTime As Date = #12/31/1900# '宣告日期使用的常數,用以辨識參數是否有傳入Function中。
|
|||
|
Public Const defSingle As Single = -999 '宣告單精準數使用的常數,用以辨識參數是否有傳入Function中。
|
|||
|
Public Const defDouble As Double = -999 '宣告雙精準數使用的常數,用以辨識參數是否有傳入Function中。
|
|||
|
Public Const strAddTagLabel As String = "extrabase" 'Add by py for Combine Addition XML doc
|
|||
|
Public Const strAddTagName As String = "ExtraBase" 'Add by py for Combine Addition XML doc
|
|||
|
Public Const defWinErrCode As String = "0000-899999"
|
|||
|
Public Const defNullDate As Date = #12/31/1910# '宣告日期使用的常數,用以辨識參數是否要變更為Null。
|
|||
|
Public Const defNullInteger As Integer = -9999 '宣告數值使用的常數,用以辨識參數是否要變更為Null。
|
|||
|
|
|||
|
Sub Main()
|
|||
|
Dim WinFormInfo As System.Windows.Forms.SystemInformation
|
|||
|
|
|||
|
'*****************************************************************************************************************
|
|||
|
|
|||
|
Dim ArgumentStr() As String = Split(Microsoft.VisualBasic.Command()) '取得傳給此執行檔的參數(應用程式路徑,UserID,Password)
|
|||
|
Dim i As Integer
|
|||
|
Dim App_Path As String = ""
|
|||
|
|
|||
|
'Modify By Peter 2005/06/21 Add /WSH
|
|||
|
For i = LBound(ArgumentStr) To UBound(ArgumentStr)
|
|||
|
If InStr(UCase(ArgumentStr(i)), "/DIR:") > 0 Then
|
|||
|
App_Path = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length)
|
|||
|
ElseIf InStr(UCase(ArgumentStr(i)), "/UID:") > 0 Then
|
|||
|
gUserNo = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length)
|
|||
|
ElseIf InStr(UCase(ArgumentStr(i)), "/UNA:") > 0 Then
|
|||
|
gUserName = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length)
|
|||
|
ElseIf InStr(UCase(ArgumentStr(i)), "/LVL:") > 0 Then
|
|||
|
gUserLevel = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length)
|
|||
|
ElseIf InStr(UCase(ArgumentStr(i)), "/LAN:") > 0 Then
|
|||
|
gLanguageMode = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length)
|
|||
|
ElseIf InStr(UCase(ArgumentStr(i)), "/WSH:") > 0 Then
|
|||
|
gMESWebServiceHost = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length)
|
|||
|
ElseIf InStr(UCase(ArgumentStr(i)), "/CSH:") > 0 Then
|
|||
|
gCUSWebServiceHost = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length)
|
|||
|
ElseIf InStr(UCase(ArgumentStr(i)), "/ENV:") > 0 Then
|
|||
|
gSettingMode = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length)
|
|||
|
ElseIf InStr(UCase(ArgumentStr(i)), "/SSH:") > 0 Then
|
|||
|
gSFCWebServiceHost = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length)
|
|||
|
ElseIf InStr(UCase(ArgumentStr(i)), "/ESH:") > 0 Then
|
|||
|
gERPWebServiceHost = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length)
|
|||
|
ElseIf InStr(UCase(ArgumentStr(i)), "/SSL:") > 0 Then
|
|||
|
gEnableSSL = IIf(Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length).ToUpper = "TRUE", True, False)
|
|||
|
End If
|
|||
|
Next
|
|||
|
|
|||
|
'*****************************************************************************************************************
|
|||
|
If App_Path = "" Then
|
|||
|
gAppPath = Application.StartupPath
|
|||
|
Else
|
|||
|
gAppPath = App_Path
|
|||
|
End If
|
|||
|
|
|||
|
If gUserNo = "" And gUserName = "" Then
|
|||
|
|
|||
|
Using obj As New frmCOMChkPassword
|
|||
|
obj.ShowDialog()
|
|||
|
End Using
|
|||
|
|
|||
|
Else
|
|||
|
gReturnKeyValue = gUserNo
|
|||
|
End If
|
|||
|
|
|||
|
'用來做為是否可以進入系統的判斷
|
|||
|
If gReturnKeyValue <> "" Then
|
|||
|
'取得電腦名稱
|
|||
|
gComputerName = WinFormInfo.ComputerName
|
|||
|
|
|||
|
iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode
|
|||
|
|
|||
|
' 2014/12/26 YF, Coding時套用Pro5 Style
|
|||
|
Infragistics.Win.AppStyling.StyleManager.Load(New MemoryStream(Global.Test.My.Resources.Resources.iMES))
|
|||
|
gEnableStyle = True
|
|||
|
|
|||
|
'進入之系統
|
|||
|
Dim fMain As New MDI_Panel
|
|||
|
fMain.ShowDialog()
|
|||
|
|
|||
|
End If
|
|||
|
|
|||
|
End Sub
|
|||
|
|
|||
|
Public Function LoadAssembly(ByVal pFileName As String) As Assembly
|
|||
|
|
|||
|
Dim mainAssembly As System.Reflection.Assembly
|
|||
|
Dim myfieldinfo() As System.Reflection.FieldInfo
|
|||
|
Dim strAppBase As String = AppDomain.CurrentDomain.BaseDirectory
|
|||
|
Dim strFilePath As String
|
|||
|
Dim strNamespace As String
|
|||
|
|
|||
|
Try
|
|||
|
|
|||
|
'判斷是否使用ClickOnce
|
|||
|
If ApplicationDeployment.IsNetworkDeployed Then
|
|||
|
'ClickOnce架構下將strAppBase改指回Smart Client
|
|||
|
Dim tempUri As System.Uri = ApplicationDeployment.CurrentDeployment.UpdateLocation
|
|||
|
strAppBase = tempUri.ToString.Replace("/ClickOnce/MESSeries.application", "")
|
|||
|
End If
|
|||
|
|
|||
|
strFilePath = strAppBase & "/" & pFileName
|
|||
|
|
|||
|
'檢查檔案是否存在
|
|||
|
If (Not funCheckFileExist(strFilePath)) Then
|
|||
|
Throw New iMESException.MESException("0000-202115", strFilePath)
|
|||
|
End If
|
|||
|
|
|||
|
mainAssembly = Assembly.LoadFrom(strFilePath)
|
|||
|
|
|||
|
'strNamespace = mainAssembly.GetExportedTypes(0).Namespace
|
|||
|
|
|||
|
'設定值予Module Public變數
|
|||
|
'myfieldinfo = mainAssembly.GetType(strNamespace & ".modWIN").GetFields()
|
|||
|
|
|||
|
'For i As Integer = 0 To myfieldinfo.Length - 1
|
|||
|
' If myfieldinfo(i).Name.ToUpper = "gUserNo".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), gUserNo)
|
|||
|
' ElseIf myfieldinfo(i).Name.ToUpper = "gUserName".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), gUserName)
|
|||
|
' ElseIf myfieldinfo(i).Name.ToUpper = "gComputerName".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), gComputerName)
|
|||
|
' ElseIf myfieldinfo(i).Name.ToUpper = "gUserLevel".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), gUserLevel)
|
|||
|
' ElseIf myfieldinfo(i).Name.ToUpper = "gLanguageMode".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), gLanguageMode)
|
|||
|
' ElseIf myfieldinfo(i).Name.ToUpper = "gAppPath".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), gAppPath)
|
|||
|
' ElseIf myfieldinfo(i).Name.ToUpper = "gMESWebServiceHost".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), gMESWebServiceHost)
|
|||
|
' ElseIf myfieldinfo(i).Name.ToUpper = "gCUSWebServiceHost".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), gCUSWebServiceHost)
|
|||
|
' ElseIf myfieldinfo(i).Name.ToUpper = "gSFCWebServiceHost".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), gSFCWebServiceHost)
|
|||
|
' ElseIf myfieldinfo(i).Name.ToUpper = "gERPWebServiceHost".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), gERPWebServiceHost)
|
|||
|
' ElseIf myfieldinfo(i).Name.ToUpper = "gSettingMode".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), gSettingMode)
|
|||
|
' ElseIf myfieldinfo(i).Name.ToUpper = "gEnterpriseNo".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), gEnterpriseNo)
|
|||
|
' ElseIf myfieldinfo(i).Name.ToUpper = "gEnableSSL".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), gEnableSSL)
|
|||
|
' ElseIf myfieldinfo(i).Name.ToUpper = "gConfigFile".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), gConfigFile)
|
|||
|
' ElseIf myfieldinfo(i).Name.ToUpper = "gEnableStyle".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), True)
|
|||
|
' ElseIf myfieldinfo(i).Name.ToUpper = "gSYSmode".ToUpper Then
|
|||
|
' myfieldinfo(i).SetValue(myfieldinfo(i), gSYSmode)
|
|||
|
' End If
|
|||
|
'Next
|
|||
|
|
|||
|
Catch ex As Exception
|
|||
|
mainAssembly = Nothing
|
|||
|
ExceptionManager.iMESShowDialog(defWinErrCode, "Load Assembly Fail!" & vbCrLf & ex.Message, ex.StackTrace)
|
|||
|
End Try
|
|||
|
|
|||
|
Return mainAssembly
|
|||
|
|
|||
|
End Function
|
|||
|
|
|||
|
'檢查檔案是否存在
|
|||
|
Private Function funCheckFileExist(ByVal strFilePath As String) As Boolean
|
|||
|
|
|||
|
'Network架構下
|
|||
|
If ApplicationDeployment.IsNetworkDeployed OrElse
|
|||
|
Application.ExecutablePath.ToLower.StartsWith("http") Then
|
|||
|
'暫不檢查
|
|||
|
ElseIf IO.File.Exists(strFilePath) = False Then
|
|||
|
'檔案架構下
|
|||
|
Return False
|
|||
|
End If
|
|||
|
|
|||
|
Return True
|
|||
|
|
|||
|
End Function
|
|||
|
|
|||
|
End Module
|