TD does not support COM exposed visual .NET components

General discussion forum about all things older Team Developer versions.
Also version independent Q&A can be placed here.
Dave Rabelink
Founder/Site Admin
Founder/Site Admin
Netherlands
Posts: 275
Joined: 24 Feb 2017, 09:12
Location: Gouda, The Netherlands

TD does not support COM exposed visual .NET components

Post by Dave Rabelink » 08 Jun 2017, 09:20

This maybe not known to all developers so I will explicitly discuss here the official statement from Gupta about the use of COM exposed visual .NET components in TD (Win32 versions).

Having a .NET component, it can be used from Win32 environment when it is build as a COM exposed component.
The .NET component can then be utilized as an ActiveX/COM object from TD or any other development environment.

Many 3rd party components on the market do supply a COM exposed interface, so it is usable in both .NET and Win32.

When the COM exposed .NET component is registered on the system, TD can generate the AX library using the ActiveX Wizard.
The library can then be used just like 'normal' ActiveX/COM components in your application. The COM interface acts like a bridge between Win32 and .NET.

Years ago I discovered major issues with visual COM exposed .NET components when used in TD.
TD applications get highly unstable and will eventually crash when such a component is used.

Gupta has investigated this and in the end Gupta devs could not fix it. It seems that the layer between TD internal code and the COM interface does not like the TD environment.
Their only solution was to officially state that TD does not support visual COM exposed .NET components.
We have no option but to create a DOC-BUG which explicitly says that we don’t officially support accessing .NET controls via ActiveX.

So to be very clear. Only VISUAL components have the issue. Non-visual components seems to work without problems.
The issue is present in ALL TD versions (ANSI & UNICODE).


For your reference, this case is extensively communicated in OpenText ticket:

Ticket # 2612289: It is not possible to use the AX components via the generated library




The testcase provided here contains Visual Studio sources to create a simple RTF control which is COM exposed.
Also the TD sources to use COM exposed RTF control.
(for testing you need to regasm the dll first).

TD will crash when starting the form having the control multiple times. Press start and close the form and repeat this.
Depending on the system it can crash the first time or you need multiple times.

TD_COM_EXPOSED_NET.zip

The only workaround is to create a VB6 or C++ wrapper (Win32) which is a WIn32 COM component which in turn uses the .NET COM exposed component.
You do not have the required permissions to view the files attached to this post.
Regards,
Dave Rabelink

Image
Articles and information on Team Developer Tips & Tricks Wiki
Download samples, documents and resources from TD Sample Vault
Videos on TDWiki YouTube Channel

User avatar
markus.essmayr
Site Admin
Site Admin
Austria
Posts: 4
Joined: 06 Mar 2017, 06:07
Location: Austria

Re: TD does not support COM exposed visual .NET components

Post by markus.essmayr » 02 Jul 2017, 10:39

I think I read an article by Microsoft about visual ActiveX controls written in a .NET language years before.
And in this article they said, that Internet Explorer is the only supported host for that kind of controls.

I did a search on the Web but couldn't find the article any more, else I would have placed a link here.


But I think it's a good advice to avoid .NET based visual ActiveX controls in general!

Max
Markus Eßmayr
teamdeveloper@t-mx.com

Return to “General Discussion”

Who is online

Users browsing this forum: Ccbot [Crawler] and 0 guests