473,503 Members | 5,004 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

How to make a "Out of Process Component" (ActiveX Exe Serve) in Do

Hello all,

in VB6 we were able to create ActiveX-DLL's (In Process Components) and
ActiveX-Exe's (Out of Process Components).

We habe build up an application that exists of an main module (Standard Exe)
that calls and controls other modules (ActiveX-Exe).

We decided for ActiveX-Exe because they run in different processes. That
means if one module shuts down, the others are still alive. Second reasons
was that modal dialogs are just modal for one module. So the others are not
blocked.

Now we want to migrate to .NET step by step. That means module by module.
Now we have the problem, that we don't know how to implement a Out of
Process component in DotNet.

At the moment all new DotNet modules run in the same process as the calling
application. So of course we also lost these modal dialogs per module.

Just for a better understanding. For example Excel, Word or Powerpoint are
also ActiveX-Exe or Out of Process Components. You can start, display and
control them via their Object Model. How can create such ActiveX Exe's with
DotNet.

Thanks in advance.

Best regards,
U.Henne
Jul 21 '05 #1
2 5267
The office app's use OLE. The framework, as of now, does not have support for many (if not all) of the OLE interfaces. The
WebBrowser control (using the ActiveX host wrapper) allows for a .NET program to embed OLE objects into WinForms. Think of it as a
complex OLE container implementation that works in .NET.

If you have ActiveX components that are reusable, then you can drop a WebBrowser control (COM tab in add references, then Internet
Controls Library. (I think it's called shvwdoc.dll)), and embed your ActiveX control in that. Communication between your app and
the AX component can be done through the HTML Object Library as in IE.

As soon as you need out-of-process communication in .NET, you must use the Remoting framework. I suggest making your ActiveX
components into UserControls and running multiple instances of your Forms in different processes (or AppDomains). You'll have to
remote the objects to communicate cross-domain/process.

--
Dave Sexton
dave@www..jwaonline..com
-----------------------------------------------------------------------
"Berata" <Be****@discussions.microsoft.com> wrote in message news:75**********************************@microsof t.com...
Hello all,

in VB6 we were able to create ActiveX-DLL's (In Process Components) and
ActiveX-Exe's (Out of Process Components).

We habe build up an application that exists of an main module (Standard Exe)
that calls and controls other modules (ActiveX-Exe).

We decided for ActiveX-Exe because they run in different processes. That
means if one module shuts down, the others are still alive. Second reasons
was that modal dialogs are just modal for one module. So the others are not
blocked.

Now we want to migrate to .NET step by step. That means module by module.
Now we have the problem, that we don't know how to implement a Out of
Process component in DotNet.

At the moment all new DotNet modules run in the same process as the calling
application. So of course we also lost these modal dialogs per module.

Just for a better understanding. For example Excel, Word or Powerpoint are
also ActiveX-Exe or Out of Process Components. You can start, display and
control them via their Object Model. How can create such ActiveX Exe's with
DotNet.

Thanks in advance.

Best regards,
U.Henne

Jul 21 '05 #2
>>How can create such ActiveX Exe's with DotNet.

You cannot - that's all there is to say.

What we ended up doing is create an ActiveX Shell EXE, that basically
just loads and executes a .NET DLL assembly (containing code in a COM
object).

Marc

Jul 21 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1334
by: Eric Brasher | last post by:
I am trying to work with the new sdk 3.0 from quickbooks which allows subscriptions to events in the quickbooks app. One problem I am having is creating an activex exe using vb.net. The...
3
7993
by: Henne | last post by:
Hello, in VB6 we werr able to make ActiveX-DLL's (In Process Components) and ActiveX-Exe (Out Of Process Components). Out Application is build of one main application that starts other...
11
5254
by: Shane Suebsahakarn | last post by:
Hi all, This might be one of those things for which there is no workaround. I'm using A2K2, and using it to perform a very large batch ouput. Both the front and back ends are MDB files, so no...
0
1688
by: Oliver | last post by:
> I am seeing an 'Access Denied' exception when using a "Server" "Serviced Component" >> ..are...registered in the GAC ? yes. >> ..are...the parameters serializable? um - parameters? - the...
4
2044
by: Gary Smith | last post by:
I have written VB6.0 application. Sometime it quites abnormally. Is it possible to monitor this "EXE" so that if it quits, I will be the first person to get notified!!! Is it possible to develop...
3
3660
by: Loane Sharp | last post by:
Hi there I use the FileStream object to download a zip file over the internet to my local disk. The file downloads successfully, but when I attempt to unzip it, I'm told that the file is in use...
2
302
by: Berata | last post by:
Hello all, in VB6 we were able to create ActiveX-DLL's (In Process Components) and ActiveX-Exe's (Out of Process Components). We habe build up an application that exists of an main module...
2
4047
by: ironmanlarry | last post by:
Hi, I'm trying to do a mail merge from Excel to Word (programatically) and I'm having some trouble creating the Word Document Object. This line of code wordDoc = GetObject("sheet.doc") keeps...
1
1167
by: Evan | last post by:
Hi, I'm creating a web application that runs a java application to handle some processing in libraries that I've only been able to find written in java. In VB.Net I'm creating a Process with...
0
7258
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7313
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
7441
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5558
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
4987
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
3156
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
1489
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
720
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
366
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.