Welcome Guest Search | Active Topics | Sign In | Register

[EO.WebBrowser] COM Wrapper Issues in 2015 version Options
creality
Posted: Friday, July 3, 2015 5:46:46 AM
Rank: Advanced Member
Groups: Member

Joined: 12/9/2014
Posts: 79
I have an ActiveX wrapper of your control to replace IE Activex in our VFP apps.

C# "automatically" exports properties but not methods of classes not declared explicitely.

My wrapper a property called "Document" that returns m_WebView.GetDOMWindow().document.
In VFP, I can do this:

oleBrowser.Document.body.innerHTML(for ex.)

but i cant do:

oleBrowser.Document.getElementById()

One option, is recreate in my wrapper all your classes with their properties and methods and copy "data" of your object to my exposed class object. The other option is adapt my wrapper and their use on VFP to this limitation. I choose second becacuse generically is sufficient and i dont have problems.

However, the new 2015 version is causing problems to my wrapper. I cant access properties in major situations. For ex. with new version i cant do: oleBrowser.Document.body.innerHTML.
For now, i create a MyDom.Document class, and my property Document now returns return:
new MyDOM.Document(m_WebView.GetDOMWindow().document);

Im having problems with EventsArgs too.
For ex. in AfterReceiveHeaders, in 2014 i can do from VFP: lcMethod = e.Request.Method. But in 2015 i cant.
However, in LoadCompleted, in 2015, i can still do e.Task.Method

From what i have read, i think that you add (expressly or by VS bug) [ComVisible(false)] to your classes. If not, maybe other similar change has broken this functionality.

I would like you can fix it. Otherwise, i have to recreate all your classes.

Thanks for your work.
eo_support
Posted: Friday, July 3, 2015 3:41:24 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,072
Hi,

We have posted a new build that should fix this issue. You can download the new build from our download page.

Thanks!
creality
Posted: Monday, July 6, 2015 1:36:44 AM
Rank: Advanced Member
Groups: Member

Joined: 12/9/2014
Posts: 79
Thanks! I test as soon as possible.
creality
Posted: Monday, July 6, 2015 3:54:55 AM
Rank: Advanced Member
Groups: Member

Joined: 12/9/2014
Posts: 79
I finished testing and all works like a charm again.

Thank you very much! Great work!
eo_support
Posted: Monday, July 6, 2015 9:22:23 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,072
Great. Thanks for confirming that it works for you!
creality
Posted: Monday, July 13, 2015 3:35:44 AM
Rank: Advanced Member
Groups: Member

Joined: 12/9/2014
Posts: 79
New version 2015.1.92.6 breaks COM Interop in EO.Webbrowser.dll
eo_support
Posted: Monday, July 13, 2015 10:13:21 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,072
Hi,

We did not change anything related to COM from the previous build. Can you create a test app and send it us? See here for more details:

http://www.essentialobjects.com/forum/test_project.aspx

Thanks!
creality
Posted: Tuesday, July 14, 2015 3:23:40 AM
Rank: Advanced Member
Groups: Member

Joined: 12/9/2014
Posts: 79
I updated to new 94.2 version and still crash.
I test using your GACTools to register in GAC your dlls too.
My wrapper targets .NET 4 Client profile, but I test targeting .Net 2 too.
When VS2013 try to register with regasm and generate TLB of my wrapper, it throws error:

Code: C#
error MSB3211: The assembly 'EO.WebBrowser, Version=15.1.94.2, Culture=neutral, PublicKeyToken=e92353a6bf73fffc' is not registered for COM interop. Register it with regasm.exe /tlb.
error MSB3212: The assembly "E:\EOWBAxControl\Release\EoWbAxControl.dll"  could not be converted to a type library. Type library exporter encountered an error while processing 'EoWbAxControl.AxEoWbAxControlEvents.LoadCompleted(ea), EoWbAxControl'. Error: Error loading type library/DLL.


When I try to register(in previous fixed 84 version I can do it), regasm throws error:

Code: C#
RegAsm : error RA0000 : Unable to locate input assembly 'EO.WebBrowser.dll' or one of its dependencies.


On another hand, in changelogs of new 94.2 appears IsActive() method created in 92.6 version but removed in the new.
eo_support
Posted: Tuesday, July 14, 2015 1:46:12 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,072
Hi,

We tested this RegAsm with 94.2 and it seems to work fine here. Our steps are:

1. Start command prompt using "Microsoft Visual Studio 2012 -> Visual Studio Command Tools -> Developer Command Prompt for VS 2012" shortcut. This opens the command prompt for .NET 4.0;

2. Run "RegAsm EO.WebBrowser.dll";

This completes successfully. Can you try the same steps and see if it works for you?

IsActive() has been changed to property IsCreated in 94.2. We feel this is more accurate since IsActive can be confused as meaning the WebView currently has the input focus.

Thanks!
creality
Posted: Wednesday, July 15, 2015 2:52:48 AM
Rank: Advanced Member
Groups: Member

Joined: 12/9/2014
Posts: 79
Hi, it is very strange.

I follow your steps and works. After I run "RegAsm EO.WebBrowser.dll /tlb" and shows a warning in DOM.Collection, but works fine.

Now I can compile new version.

Maybe only need restart my computer.

In any case, Thanks!
eo_support
Posted: Wednesday, July 15, 2015 10:12:03 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,072
Hi,

Great to hear that it works for you. The warning about DOM.Collection is normal because it's a generic type.

Thanks!


You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.