xsharp.eu • WebBrowser editabile
Page 1 of 1

WebBrowser editabile

Posted: Fri Feb 15, 2019 3:26 pm
by softdevo@tiscali.it
In Vulcan usavo il controllo Webbrowser come editor HTML con questo codice nel CONSTRUCTOR della pagina:

SELF:oWebBrowser1:PreviewKeyDown += System.Windows.Forms.PreviewKeyDownEventHandler{ SELF , @WebBrowser1PreviewKeyDown() }

SELF:oWebBrowser1:AllowNavigation := FALSE
SELF:oWebBrowser1:AllowWebBrowserDrop := FALSE
SELF:oWebBrowser1:ScriptErrorsSuppressed := TRUE

SELF:oWebBrowser1:DocumentText := "<html><body></body></html>"
IVarPut(SELF:oWebBrowser1:Document:DomDocument,#DesignMode,"On")
SELF:oWebBrowser1:Document:ExecCommand("fontSize", FALSE,3)
Ora la funzione ivarput non funziona

Descrizione: No exported variable

Funzione : XSharp.RT
Oggetto : IVarPut

Stack :
in XSharp.RT.OOPHelpers.IVarPut(Object oObject, String cIVar, Object oValue, Boolean lSelf)
in XSharp.RT.Functions.IVarPut(Object o, String cIVar, __Usual uValue)
in WSendMail..ctor()

Qualche idea?

Danilo

WebBrowser editabile

Posted: Fri Feb 15, 2019 4:33 pm
by Chris
Hi Danilo, in which line of code does the error happen?

WebBrowser editabile

Posted: Fri Feb 15, 2019 4:41 pm
by softdevo@tiscali.it
AT line:

IVarPut(SELF:oWebBrowser1:Document:DomDocument,#DesignMode,"On")

Danilo

WebBrowser editabile

Posted: Fri Feb 15, 2019 8:59 pm
by Chris
Oops, sorry, I did not see this line before. Has the Document object been created, before you try to access it? I think you need to open a page first. Please do a

? SELF:oWebBrowser1:Document:DomDocument:GetType():ToString()

before you use the IVarPut(), what type does it return?

Chris

WebBrowser editabile

Posted: Fri Feb 15, 2019 9:07 pm
by George
Danilo,

as Chris said:
>Has the Document object been created, before you try to access it?

I think you have to change the DesignMode into the Event: DocumentCompleted:

PRIVATE WebBrowser AS System.Windows.Forms.WebBrowser

SELF:WebBrowser := System.Windows.Forms.WebBrowser{}
...
SELF:WebBrowser:DocumentCompleted += System.Windows.Forms.WebBrowserDocumentCompletedEventHandler{ SELF, @WebBrowser_DocumentCompleted() }
...
PRIVATE METHOD WebBrowser_DocumentCompleted( sender AS System.Object, e AS System.Windows.Forms.WebBrowserDocumentCompletedEventArgs ) AS System.Void
SELF:WebBrowser:Document:ExecCommand("EditMode", True, NULL)
RETURN

or someting similar.

regards
George

WebBrowser editabile

Posted: Sat Feb 16, 2019 9:15 am
by softdevo@tiscali.it
Before calling ivarput I initialize the document:
SELF:oWebBrowser1:DocumentText := "<html><body></body></html>"

and I have the method:

METHOD WebBrowser1DocumentCompleted(sender AS System.Object , e AS System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) AS System.Void
LOCAL oType AS Type
LOCAL oPropertyInfo AS System.Reflection.PropertyInfo
LOCAL oWB := (WebBrowser)sender AS WebBrowser

oType :=oWB:Document:DomDocument:GetType()

oPropertyInfo := oType:GetProperty("designMode") // is null
oPropertyInfo:SetValue(oWB:Document:DomDocument, "On", NULL)

RETURN

WebBrowser editabile

Posted: Sat Feb 16, 2019 11:37 am
by wriedmann
Ciao Danilo,

with the Vulcan runtime it worked and with the X# runtime not anymore?

(scrivo in inglese che anche gli altri non hanno bisogno di traduttori).

Saluti

Wolfgang

WebBrowser editabile

Posted: Sat Feb 16, 2019 5:45 pm
by softdevo@tiscali.it
The problem is solved

Danilo

SELF:oWebBrowser1:AllowNavigation := FALSE
SELF:oWebBrowser1:AllowWebBrowserDrop := FALSE
SELF:oWebBrowser1:ScriptErrorsSuppressed := TRUE

SELF:oWebBrowser1:DocumentText := "<html><body></body></html>"
SELF:oWebBrowser1:Document:ExecCommand("EditMode",TRUE,NIL)
SELF:oWebBrowser1:Document:ExecCommand("fontSize",FALSE,3)