Jump to content

Recommended Posts

Posted

sorry for my bad english

example into guide command "guictrlcreateobj"

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Example()

; Simple example: Embedding an Internet Explorer Object inside an AutoIt GUI
; ; See also: http://msdn.microsoft.com/workshop/browser/webbrowser/reference/objects/internetexplorer.asp
Func Example()
    Local $idButton_Back, $idButton_Forward
    Local $idButton_Home, $idButton_Stop, $iMsg

    Local $oIE = ObjCreate("Shell.Explorer.2")

    ; Create a simple GUI for our output
    GUICreate("Embedded Web control Test", 640, 580, (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN))
    GUICtrlCreateObj($oIE, 10, 40, 600, 360)
    $idButton_Back = GUICtrlCreateButton("Back", 10, 420, 100, 30)
    $idButton_Forward = GUICtrlCreateButton("Forward", 120, 420, 100, 30)
    $idButton_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30)
    $idButton_Stop = GUICtrlCreateButton("Stop", 330, 420, 100, 30)

    GUISetState(@SW_SHOW) ;Show GUI

    $oIE.navigate("http://www.autoitscript.com")

    ; Loop until the user exits.
    While 1
        $iMsg = GUIGetMsg()

        Select
            Case $iMsg = $GUI_EVENT_CLOSE
                ExitLoop
            Case $iMsg = $idButton_Home
                $oIE.navigate("http://www.autoitscript.com")
            Case $iMsg = $idButton_Back
                $oIE.GoBack
            Case $iMsg = $idButton_Forward
                $oIE.GoForward
            Case $iMsg = $idButton_Stop
                $oIE.Stop
        EndSelect

    WEnd

    GUIDelete()
EndFunc   ;==>Example

my edits

added #include <ie.au3>

update line 24 ($oIE.navigate("http://www.autoitscript.com")  ------>  msgbox(0,0,_IEPropertyGet($oIE,"title"))

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ie.au3>

Example()

; Simple example: Embedding an Internet Explorer Object inside an AutoIt GUI
; ; See also: http://msdn.microsoft.com/workshop/browser/webbrowser/reference/objects/internetexplorer.asp
Func Example()
    Local $idButton_Back, $idButton_Forward
    Local $idButton_Home, $idButton_Stop, $iMsg

    Local $oIE = ObjCreate("Shell.Explorer.2")

    ; Create a simple GUI for our output
    GUICreate("Embedded Web control Test", 640, 580, (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN))
    GUICtrlCreateObj($oIE, 10, 40, 600, 360)
    $idButton_Back = GUICtrlCreateButton("Back", 10, 420, 100, 30)
    $idButton_Forward = GUICtrlCreateButton("Forward", 120, 420, 100, 30)
    $idButton_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30)
    $idButton_Stop = GUICtrlCreateButton("Stop", 330, 420, 100, 30)

    GUISetState(@SW_SHOW) ;Show GUI

;~  $oIE.navigate("http://www.autoitscript.com")

msgbox(0,0,_IEPropertyGet($oIE,"title"))

    ; Loop until the user exits.
    While 1
        $iMsg = GUIGetMsg()

        Select
            Case $iMsg = $GUI_EVENT_CLOSE
                ExitLoop
            Case $iMsg = $idButton_Home
                $oIE.navigate("http://www.autoitscript.com")
            Case $iMsg = $idButton_Back
                $oIE.GoBack
            Case $iMsg = $idButton_Forward
                $oIE.GoForward
            Case $iMsg = $idButton_Stop
                $oIE.Stop
        EndSelect

    WEnd

    GUIDelete()
EndFunc   ;==>Example 

no problem with release 3.3.12.0

error in release 3.3.13.19

ie.au3" (2321) : ==> The requested action with this object has failed.:
Return SetError($_IESTATUS_Success, 0, $oObject.document.title)
Return SetError($_IESTATUS_Success, 0, $oObject.document^ ERROR

 

To community goes all my regards and thanks

  • Moderators
Posted

bdr529,

There was a change made recently to the way in which AutoIt handled COM errors - in the past they just silently failed and it was decided this was not a good idea - you can read more about it here (please ignore the off-topic posts). :)

I am not an IE expert, but it seems to me that in your amended script you have commented out the initial $oIE.navigate line and so the subsequent _IEPropertyGet($oIE,"title") line will no doubt return an error when used - and as these errors are now fatal you get the crash. So either add a COM error handler as I explain in the linked thread or actually navigate to a page before trying to get its properties - either should test my theory. ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

  Reveal hidden contents

 

Posted (edited)

@bdr529,

Why you create object in a such way ?

Local $oIE = ObjCreate("Shell.Explorer.2")

there is in UDF a special function:

Local $oIE = _IECreateEmbedded()

EDIT:
nevermind

it was "not wise" question

Edited by mLipok

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted

  On 12/27/2014 at 11:16 PM, mLipok said:

@bdr529,

Why you create object in a such way ?

Local $oIE = ObjCreate("Shell.Explorer.2")

there is in UDF a special function:

Local $oIE = _IECreateEmbedded()

EDIT:

nevermind

it was "not wise" question

sorry but my example is here https://www.autoitscript.com/autoit3/files/beta/autoit/docs/functions/GUICtrlCreateObj.htm

and "there is in UDF a special function:"  is equal ......

file ie.au3 autoit 3.3.12.0 (3.3.13.19)

line 243 (line 244)

; #FUNCTION# ====================================================================================================================
; Author ........: Dale Hohm
; ===============================================================================================================================
Func _IECreateEmbedded()
    Local $oObject = ObjCreate("Shell.Explorer.2")

    If Not IsObj($oObject) Then
        __IEConsoleWriteError("Error", "_IECreateEmbedded", "", "WebBrowser Object Creation Failed")
        Return SetError($_IESTATUS_GeneralError, 0, 0)
    EndIf
    ;
    Return SetError($_IESTATUS_Success, 0, $oObject)
EndFunc   ;==>_IECreateEmbedded

To community goes all my regards and thanks

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...