cancel
Showing results for 
Search instead for 
Did you mean: 

Appeon and .NET CLR components

former_member329524
Active Participant
0 Kudos
76

Hello, all

This is a theoretical question, since we do not use Appeon at this time, but the need might arise in the foreseeable future.

We currently have a small PB Classic (v12.5) app, which consumes a .NET CLR component through COM server. This component is very important and cannot be rewritten in PB.

If we consider moving this app to Appeon, how can this component be consumed? As far as I understand oleobjects are not used in Appeon.

Thank you

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member185283
Participant
0 Kudos

Chris is exactly right. 

Also, Appeon does support OLE for Web target.  Only in mobile target (iOS/Android) OLE is not supported.  Of course, for server-side .NET components the right way to do it is to use the AppeonDotNetComponent proxy object or SOAP Web services, which Appeon also supports.

Former Member
0 Kudos

Hi Arcady;

  Yes, Appeon supports calling .Net assemblies directly. The only restriction is that you would be using the .NET version of Appeon not a J2EE flavour (which it also comes in). 

FYI .... (Appeon Help)

To call .NET/COM components, Appeon provides a non-autoinstantiated NVO - AppeonDotNetComponent - as the proxy object to call the server-side components. The user can either create a local instance of AppeonDotNetComponent for each server component, or directly use an existing instance of AppeonDotNetComponent. The user must specify the properties of the instance, such as the component type, the library name and the class name, to bind the instance with the server component, or change the instance properties during run-time to dynamically bind with a different component. It provides a universal single interface and a set of parameters which determines which component and methods will be called.

Example:

// Calling a method in a .Net assembly

any paralist[]

long refparam1 = 32764

long refparam2 = 32763

paralist[1] = refparam1

paralist[2] = refparam2

comcaller.componenttype = '1'

comcaller.typelib = 'DotNetDll.dll'

comcaller.classdescript = 'DotNetClass'

comcaller.of_execinterface("GetIntAndRefInt",paralist)

refparam1 = paralist[1]

rafparam2 = paralist[2]

HTH  

Regards ... Chris