Hallo Community,
mich nervt es, dass ich nicht selbst drauf komme, doch vielleicht ist die Umsetzung so auch gar nicht möglich (wäre seltsam). Bin sehr gespannt, ob mir jemand auf die Sprünge helfen kann - Danke schon mal.
Ich habe mal ein kleines Beispiel vorbereitet, was mein Problem darstellt. Insgesamt ist dies nur ein übertragenes Beispiel eines viel größeren Projektes, was ich zurzeit bearbeite.
Problem:
Spoiler anzeigen
Ich möchte das die beiden ActiveX-Controls der GUI bzw. deren Inhalte ($sHTML1, $sHTML2), gleichzeitig angezeigt werden. Nicht erst das Eine mit Inhalt befüllte und dann das Andere. Sprich die Inhalte der Controls werden nicht gleichzeitig dargestellt. Es wird das Erste irgendwie immer wieder verworfen und dann das Zweite angezeigt.
Dies passiert bei _IENavigate( $oIE1, "about:blank" ) soweit ich feststellen konnte, darum auch der Sleep( 1000 )-Befehl, um den Wechsel darzustellen. Kann ich nicht 2 IE-Objects gleichzeitig in der GUI laden? Wie bekomme ich die gleichzeitig Anzeige der Inhalte ($sHTML1, $sHTML2) auf der linken und auf der rechten Seite hin?
Die Ausführung des Skriptes macht es recht deutlich, was ich sagen möchte .
[autoit]
; ------------------------------------------------------------------------------
; _IECreateEmbedded() - Test
; ------------------------------------------------------------------------------
#Region includes
#include <GuiConstantsEx.au3>
#include <IE.au3>
#include <WindowsConstants.au3>
#EndRegion
#Region declaration
Local $sHTML1 = '<ul><li>Linke Seite</li></ul>'
Local $sHTML2 = '<ol><li>Rechte Seite</li><ol>'
Local $oIE1 = _IECreateEmbedded()
Local $oIE2 = _IECreateEmbedded()
#EndRegion
#Region GUI
GUICreate( "_IECreateEmbedded() - Test", 800, 400, Default, Default )
GUICtrlCreateObj( $oIE1, 10, 10, 390, 380 )
GUICtrlCreateObj( $oIE2, 410, 10, 390, 380 )
GUISetState( @SW_SHOW )
#EndRegion
#Region IE-Object-Actions
_IENavigate( $oIE1, "about:blank" )
_IEDocWriteHTML( $oIE1, $sHTML1 )
_IEAction( $oIE1, "refresh" )
Sleep( 1000 ) ; dient nur zur Verdeutlichung
[/autoit] [autoit][/autoit] [autoit]_IENavigate( $oIE2, "about:blank" )
_IEDocWriteHTML( $oIE2, $sHTML2 )
_IEAction( $oIE2, "refresh" )
#EndRegion
#Region while (events)
While 1
$eMsg = GUIGetMsg()
Switch $eMsg
Case $GUI_EVENT_CLOSE
GUIDelete()
Exit
EndSwitch
WEnd
#EndRegion
Falls irgendwelche Workarounds bekannt sind, da dies tatsächlich so ist wie es ist, bin ich sehr interessiert daran - Dankeschön .
Vielen Dank für etwaige Unterstützung (Ideen, Verbesserungsvorschläge, Kritik und Zustimmung).
Einen angenehmen Tag noch!
UserIsGrateful 【ツ】