@@ -158,7 +158,7 @@ Func _NetWebView2_CreateManager($sUserAgent = "", $s_fnEventPrefix = "", $s_AddB
158158 ; Verbose property was added to allow real-time diagnostic logging to the SciTE console (or any stdout listener).
159159 ; The diagnostic logs use a distinctive prefix and include the instance handle for easier filtering in multi-window applications.
160160 $oWebV2M .Verbose = $bVerbose
161- ; ~ If $_g_bNetWebView2_DebugDev Then __NetWebView2_ObjName_FlagsValue($oWebV2M) ; FOR DEV TESTING ONLY
161+ ; ~ If $_g_bNetWebView2_DebugDev Then __NetWebView2_ObjName_FlagsValue($oWebV2M) ; FOR DEV TESTING ONLY
162162
163163 If $sUserAgent Then $oWebV2M .SetUserAgent($sUserAgent )
164164 If $s_AddBrowserArgs Then $oWebV2M .AdditionalBrowserArguments = $s_AddBrowserArgs
@@ -206,7 +206,6 @@ Func _NetWebView2_Initialize($oWebV2M, $hUserGUI, $s_ProfileDirectory, $i_Left =
206206
207207 If Not IsHWnd ($hUserGUI ) Then
208208 $ERR = $NETWEBVIEW2_MESSAGE__CRITICAL_ERROR
209- $EXT = 0
210209 $RET = False
211210 $MSG = " !!! ERROR: $hUserGUI is not a valid HWND pointer" & " #SLN=" & @ScriptLineNumber
212211 Else
@@ -215,7 +214,9 @@ Func _NetWebView2_Initialize($oWebV2M, $hUserGUI, $s_ProfileDirectory, $i_Left =
215214 ; This prevents the COM layer from changing the AutoIt variable type from Ptr to Int64.
216215 $RET = $oWebV2M .Initialize(($hUserGUI ), $s_ProfileDirectory , $i_Left , $i_Top , $i_Width , $i_Height )
217216 If @error Then
218- Return SetError (@error , @extended , $RET )
217+ $ERR = @error
218+ $EXT = @extended
219+ $MSG = " !!! ERROR: Initialization COM issue" & " #SLN=" & @ScriptLineNumber
219220 Else
220221 If $_g_bNetWebView2_DebugDev Then ConsoleWrite (" ! IFNC: FailureReportFolderPath = " & $oWebV2M .FailureReportFolderPath & @CRLF )
221222
@@ -225,38 +226,52 @@ Func _NetWebView2_Initialize($oWebV2M, $hUserGUI, $s_ProfileDirectory, $i_Left =
225226 Local $iMessage
226227 Do
227228 __NetWebView2_Sleep(10 )
228- #TODO ENDPOINT
229- If @error Then Return SetError (@error , @extended , " " )
230-
231- $iMessage = __NetWebView2_LastMessage_KEEPER($oWebV2M )
232- If $iMessage = $NETWEBVIEW2_MESSAGE__INIT_FAILED _
233- Or $iMessage = $NETWEBVIEW2_MESSAGE__PROFILE_NOT_READY _
234- Or $iMessage = $NETWEBVIEW2_MESSAGE__PROCESS_FAILED _
235- Or $iMessage = $NETWEBVIEW2_MESSAGE__CRITICAL_ERROR Then
236- #TODO ENDPOINT
237- Return SetError ($iMessage , @extended , " " )
229+ If @error Then
230+ $ERR = @error
231+ $EXT = @extended
232+ $RET = " "
233+ $MSG = " !!! ERROR: Sleep aborted" & " #SLN=" & @ScriptLineNumber
234+ ExitLoop
235+ Else
236+ $iMessage = __NetWebView2_LastMessage_KEEPER($oWebV2M ) ; get last message
237+ If $iMessage = $NETWEBVIEW2_MESSAGE__INIT_FAILED _
238+ Or $iMessage = $NETWEBVIEW2_MESSAGE__PROFILE_NOT_READY _
239+ Or $iMessage = $NETWEBVIEW2_MESSAGE__PROCESS_FAILED _
240+ Or $iMessage = $NETWEBVIEW2_MESSAGE__CRITICAL_ERROR Then
241+ $ERR = 1
242+ $RET = $iMessage
243+ $MSG = " !!! ERROR: Last Message= " & $iMessage & " #SLN=" & @ScriptLineNumber
244+ ExitLoop
245+ Else
246+ If TimerDiff ($hTimer ) > = $iTimeOut_ms Then
247+ $ERR = 2
248+ $RET = " "
249+ $MSG = " !!! ERROR: TimeOut happend" & " #SLN=" & @ScriptLineNumber
250+ ExitLoop
251+ EndIf
252+ EndIf
238253 EndIf
239- #TODO ENDPOINT
240- If TimerDiff ($hTimer ) > = $iTimeOut_ms Then Return SetError (1 , 0 , " " )
241254 Until $oWebV2M .IsReady Or $iMessage = $NETWEBVIEW2_MESSAGE__INIT_READY
242255; ~ If Not __NetWebView2_WaitForReadyState($oWebV2M, $hTimer, $iTimeOut_ms) Then Return SetError(2, 0, "")
243256 #EndRegion ; After Initialization wait for the engine to be ready before navigating
244257
245- ; WebView2 Configuration
246- $oWebV2M .SetAutoResize($b_SetAutoResize ) ; Using SetAutoResize(True) to skip WM_SIZE
247- $oWebV2M .AreDevToolsEnabled = $b_DevToolsEnabled ; Allow F12
248- $oWebV2M .ZoomFactor = $i_ZoomFactor
249- $oWebV2M .BackColor = $s_BackColor
258+ If Not $ERR Then
259+ ; WebView2 Configuration
260+ $oWebV2M .SetAutoResize($b_SetAutoResize ) ; Using SetAutoResize(True) to skip WM_SIZE
261+ $oWebV2M .AreDevToolsEnabled = $b_DevToolsEnabled ; Allow F12
262+ $oWebV2M .ZoomFactor = $i_ZoomFactor
263+ $oWebV2M .BackColor = $s_BackColor
250264
251- If $b_InitConsole Then
252- $oWebV2M .AddInitializationScript(__Get_Core_Bridge_JS())
253- EndIf
265+ If $b_InitConsole Then
266+ $oWebV2M .AddInitializationScript(__Get_Core_Bridge_JS())
267+ EndIf
254268
255- $EXT = $oWebV2M .GetBrowserProcessId()
269+ $EXT = $oWebV2M .GetBrowserProcessId()
270+ EndIf
256271 EndIf
257272 EndIf
273+
258274 __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & $MSG , 1 , $ERR , $EXT )
259- If $ERR Then __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & " !!! Manager Creation ERROR" , 1 )
260275 Return SetError ($ERR , $EXT , $RET )
261276EndFunc ; ==>_NetWebView2_Initialize
262277
@@ -437,12 +452,17 @@ Func _NetWebView2_ExecuteScript($oWebV2M, $sJavaScript, $iMode = $NETWEBVIEW2_EX
437452 Switch $iMode
438453 Case 0
439454 $RET = $oWebV2M .ExecuteScript($sJavaScript )
455+ $ERR = @error
456+ If @error Then $MSG = " ! Manager.ExecuteScript($sJavaScript) ERROR " & " #SLN=" & @ScriptLineNumber
440457 Case 1
441458 $RET = $oWebV2M .ExecuteScriptOnPage($sJavaScript )
459+ $ERR = @error
460+ If @error Then $MSG = " ! Manager.ExecuteScriptOnPage($sJavaScript) ERROR " & " #SLN=" & @ScriptLineNumber
442461 Case 2
443462 $RET = $oWebV2M .ExecuteScriptWithResult($sJavaScript )
463+ $ERR = @error
464+ If @error Then $MSG = " ! Manager.ExecuteScriptWithResult($sJavaScript) ERROR " & " #SLN=" & @ScriptLineNumber
444465 EndSwitch
445- $ERR = @error
446466 __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & $MSG , 1 , $ERR , $EXT )
447467 Return SetError ($ERR , $EXT , $RET )
448468EndFunc ; ==>_NetWebView2_ExecuteScript
@@ -519,6 +539,7 @@ EndFunc ;==>_NetWebView2_GetVersion
519539; $iTimeOut_ms - [optional] Maximum time to wait in milliseconds. 0 for infinite. Default is 5000ms
520540; Return values .: Success - True
521541; Failure - False and sets @error:
542+ #TODO @error numbers changed revise the header
522543; 3 - Navigation Error ($NETWEBVIEW2_MESSAGE__NAV_ERROR)
523544; 4 - Timeout reached
524545; Author ........: mLipok, ioa747
@@ -599,7 +620,7 @@ Func _NetWebView2_LoadWait($oWebV2M, $iWaitMessage = $NETWEBVIEW2_MESSAGE__TITLE
599620 EndIf
600621 EndIf
601622 EndIf
602- If $_g_bNetWebView2_DebugDev Then ConsoleWrite (" > IFNC: TEST LOAD WAIT: __NetWebView2_LastMessage_Navigation($oWebV2M)=" & $iLastMessage & " >> " & __NetWebView2_LastMessage_Navigation($oWebV2M ) & " #SLN=" & @ScriptLineNumber & @CRLF )
623+ If $_g_bNetWebView2_DebugDev Then ConsoleWrite (" ! IFNC: TEST LOAD WAIT: __NetWebView2_LastMessage_Navigation($oWebV2M)=" & $iLastMessage & " >> " & __NetWebView2_LastMessage_Navigation($oWebV2M ) & " #SLN=" & @ScriptLineNumber & @CRLF )
603624 WEnd
604625
605626 __NetWebView2_Log(@ScriptLineNumber , $s_Prefix & $MSG , 1 , $ERR , $EXT )
@@ -1519,7 +1540,7 @@ Func __NetWebView2_LastMessage_onReceived($oWebV2M, $iMessage = Default, $iError
15191540 Local Static $mLastMessegReceived []
15201541 Local $sKey = " " & $oWebV2M .BrowserWindowHandle
15211542
1522- If $iMessage = Default Then
1543+ If $iMessage = Default Then ; function acts as GET
15231544 $RET = $mLastMessegReceived [$sKey ]
15241545 Else
15251546 If $_g_bNetWebView2_DebugDev Then ConsoleWrite (" ! IFNC: __NetWebView2_LastMessage_onReceived ==> " & $iMessage & " Key=" & $sKey & " #SLN=" & @ScriptLineNumber & @CRLF )
@@ -1543,8 +1564,8 @@ Func __NetWebView2_LastMessage_Navigation($oWebV2M, $iMessage = Default, $iError
15431564
15441565 Local Static $mLastNavigationMessage []
15451566 Local $sKey = " " & $oWebV2M .BrowserWindowHandle
1546- If $iMessage = Default Then
1547- $RET = $mLastNavigationMessage [$sKey ])
1567+ If $iMessage = Default Then ; function acts as GET
1568+ $RET = $mLastNavigationMessage [$sKey ]
15481569 Else
15491570 If $iMessage > = $NETWEBVIEW2_MESSAGE__NAV_STARTING And $iMessage < = $NETWEBVIEW2_MESSAGE__TITLE_CHANGED Then
15501571 If $_g_bNetWebView2_DebugDev Then ConsoleWrite (" ! IFNC: __NetWebView2_LastMessage_Navigation ==> " & $iMessage & " Key=" & $sKey & " #SLN=" & @ScriptLineNumber & @CRLF )
@@ -1911,7 +1932,7 @@ Volatile Func __NetWebView2_Events__OnMessageReceived($oWebV2M, $hGUI, $sMsg)
19111932
19121933 Local Static $sCommand_static = " "
19131934 If $_g_bNetWebView2_DebugDev And $sCommand_static <> $sCommand Then ; show the log - for DEV only
1914- ; ~ ConsoleWrite("TEST IFNC: " & $s_Prefix & " #SLN=" & @ScriptLineNumber & " " & $sCommand & " Data=" & (StringLen($sData) > 120 ? StringLeft($sData, 120) & "..." : $sData) & @CRLF) ; FOR DEV TESTING ONLY
1935+ ; ~ ConsoleWrite("! IFNC: " & $s_Prefix & " #SLN=" & @ScriptLineNumber & " " & $sCommand & " Data=" & (StringLen($sData) > 120 ? StringLeft($sData, 120) & "..." : $sData) & @CRLF) ; FOR DEV TESTING ONLY
19151936 $sCommand_static = $sCommand
19161937 EndIf
19171938 #EndRegion ; Message parsing
@@ -1962,9 +1983,9 @@ Volatile Func __NetWebView2_Events__OnMessageReceived($oWebV2M, $hGUI, $sMsg)
19621983 EndIf
19631984
19641985 ; 🚧 *******************************************
1965- If $_g_bNetWebView2_DebugInfo Then
1966- ConsoleWrite (" > TEST NAV_ERR: " & $sMsg & @CRLF )
1967- ConsoleWrite (" > TEST NAV_ERR: __NetWebView2_LastMessage_KEEPER($oWebV2M)=" & __NetWebView2_LastMessage_KEEPER($oWebV2M ) & " #SLN=" & @ScriptLineNumber & @CRLF )
1986+ If $_g_bNetWebView2_DebugDev Then
1987+ ConsoleWrite (" ! IFNC: NAV_ERR: " & $sMsg & @CRLF )
1988+ ConsoleWrite (" ! IFNC: NAV_ERR: __NetWebView2_LastMessage_KEEPER($oWebV2M)=" & __NetWebView2_LastMessage_KEEPER($oWebV2M ) & " #SLN=" & @ScriptLineNumber & @CRLF )
19681989 EndIf
19691990
19701991 Case " NAV_COMPLETED"
@@ -2274,7 +2295,7 @@ Volatile Func __NetWebView2_Events__OnTitleChanged($oWebV2M, $hGUI, $sTITLE)
22742295 Local Const $s_Prefix = " [EVENT: OnTitleChanged]: GUI:" & $hGUI & " TITLE: " & $sTITLE
22752296 __NetWebView2_Log(@ScriptLineNumber , (StringLen ($s_Prefix ) > 150 ? StringLeft ($s_Prefix , 150 ) & " ..." : $s_Prefix ), 1 )
22762297 __NetWebView2_LastMessage_KEEPER($oWebV2M , $NETWEBVIEW2_MESSAGE__TITLE_CHANGED )
2277- If $_g_bNetWebView2_DebugDev Then ConsoleWrite (" > IFNC: TEST LOAD WAIT: __NetWebView2_LastMessage_Navigation($oWebV2M)=" & __NetWebView2_LastMessage_Navigation($oWebV2M ) & " #SLN=" & @ScriptLineNumber & @CRLF )
2298+ If $_g_bNetWebView2_DebugDev Then ConsoleWrite (" ! IFNC: TEST LOAD WAIT: __NetWebView2_LastMessage_Navigation($oWebV2M)=" & __NetWebView2_LastMessage_Navigation($oWebV2M ) & " #SLN=" & @ScriptLineNumber & @CRLF )
22782299EndFunc ; ==>__NetWebView2_Events__OnTitleChanged
22792300
22802301; #INTERNAL_USE_ONLY# ===========================================================================================================
0 commit comments