Openedge from DotNet

Posted by NickChild on 06-May-2015 15:29

Hi

We have an API into out Openedge solution that was written in VB6. We basically created an OCX and embedded it in a window. The OCX could then communicate with an exe running as a process. So we could effectively  call open edge windows etc from other com compatible applications.

We now want to replace the old VB with c# but I would like to update this as much as possible.

So my question to the fourm is what would be the best practice way now to communicate with OpenEdge from C#? Obviously I do not want to go through the appserver as this needs to be client side and run a user interface

Nick

All Replies

Posted by Mike Fechner on 06-May-2015 15:55

You should look into the OpenEdge GUI for .NET documentation. The integration of .NET into the OpenEdge client is far more advanced then it ever was with Active X

Von meinem Windows Phone gesendet

Von: NickChild
Gesendet: ‎06.‎05.‎2015 16:30
An: PUG-Forum@community.progress.com
Betreff: [Progress User Groups - Forum] Openedge from DotNet

Thread created by NickChild

Hi

We have an API into out Openedge solution that was written in VB6. We basically created an OCX and embedded it in a window. The OCX could then communicate with an exe running as a process. So we could effectively  call open edge windows etc from other com compatible applications.

We now want to replace the old VB with c# but I would like to update this as much as possible.

So my question to the fourm is what would be the best practice way now to communicate with OpenEdge from C#? Obviously I do not want to go through the appserver as this needs to be client side and run a user interface

Nick

Stop receiving emails on this subject.

Flag this post as spam/abuse.

Posted by NickChild on 07-May-2015 02:14

Hi

Thanks yes. We already heavily use >net in our application and have a rich gui interface using Dev Express controls embedded in progress containers.  However what I was specifically asking was...How can I communicate from outside of our application?  So for example I write an add-in in Outlook and want to have a button that connects the Progress client and then launches a window.  We did this in VB and I was looking for best practice or ideas on how to acheive this using C# or is there any other progress tool available.

I was wondering if the Progress.ol4glt.dll could be used to connect to a client rather than an appserver, or is there something similar I could use.

nick

Posted by Mike Fechner on 07-May-2015 04:04

Hi Nick,
 
I doubt that the OpenClient runtime can be used for your purposes.
 
What you need is an inter process communication solution. In the .NET world, using MS-MQ can be an option. But you’d have to setup that up on every PC. Or you look into establishing this based on something like the .NET bindings for ZeroMQ (0MQ). All you need to deploy in that case is a set of .dll files and ZeroMQ works as a brokerless message queue. Within the same PC that is very easy.
 
When implementing this, you will just have to ensure that you don’t violate the single threaded nature of the AVM. Some of the ZeroMQ .NET bindings word asynchronously and you’d have to build a wrapper around that which synchronizes the events into the WinForms UI thread.
 
Mike
Von: NickChild [mailto:bounce-NickChild@community.progress.com]
Gesendet: Donnerstag, 7. Mai 2015 09:15
An: PUG-Forum@community.progress.com
Betreff: RE: [Progress User Groups - Forum] Openedge from DotNet
 
Reply by NickChild

Hi

Thanks yes. We already heavily use >net in our application and have a rich gui interface using Dev Express controls embedded in progress containers.  However what I was specifically asking was...How can I communicate from outside of our application?  So for example I write an add-in in Outlook and want to have a button that connects the Progress client and then launches a window.  We did this in VB and I was looking for best practice or ideas on how to acheive this using C# or is there any other progress tool available.

I was wondering if the Progress.ol4glt.dll could be used to connect to a client rather than an appserver, or is there something similar I could use.

nick

Stop receiving emails on this subject.

Flag this post as spam/abuse.

Posted by NickChild on 07-May-2015 04:14

Thanks Mike

I shall certainly consider what you have suggested.  I need something simple and easily deploy-able.  and yes your correct the single threading is a bit of a headache,.

Nick

This thread is closed