WebBrowser editabile

Forum dedicato ai programmatori di X# in lingua italiana – Italian language forum

Moderator: wriedmann

Post Reply
User avatar
softdevo@tiscali.it
Posts: 189
Joined: Wed Sep 30, 2015 1:30 pm

WebBrowser editabile

Post 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
User avatar
Chris
Posts: 4562
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

WebBrowser editabile

Post by Chris »

Hi Danilo, in which line of code does the error happen?
Chris Pyrgas

XSharp Development Team test
chris(at)xsharp.eu
User avatar
softdevo@tiscali.it
Posts: 189
Joined: Wed Sep 30, 2015 1:30 pm

WebBrowser editabile

Post by softdevo@tiscali.it »

AT line:

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

Danilo
User avatar
Chris
Posts: 4562
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

WebBrowser editabile

Post 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
Chris Pyrgas

XSharp Development Team test
chris(at)xsharp.eu
George
Posts: 106
Joined: Thu Nov 05, 2015 9:17 am

WebBrowser editabile

Post 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
User avatar
softdevo@tiscali.it
Posts: 189
Joined: Wed Sep 30, 2015 1:30 pm

WebBrowser editabile

Post 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
User avatar
wriedmann
Posts: 3644
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

WebBrowser editabile

Post 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
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
User avatar
softdevo@tiscali.it
Posts: 189
Joined: Wed Sep 30, 2015 1:30 pm

WebBrowser editabile

Post 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)
Post Reply