Introduction
Call method from C# class file/DLL in PowerBuilder 11.
Using the code
If you use .NET target of PB 11, you can call
a C# class using a .NET assembly.
C# class DLL:
-------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace ClassLibrary1
{
[ClassInterface(ClassInterfaceType.AutoDual)]
public class Calc
{
public int Add(int x, int y)
{
return x + y;
}
public int Sub(int x, int y)
{
return x - y;
}
}
}
-------------------------------------------------------------------------------------
In the .NET Windows form target, define the DLL above as a .NET assembly. Now you can call the
DLL. Here is the PowerBuilder script:
-------------------------------------------------------------------------------------
long i,j,k
i = 5
j = 4
#IF Defined PBDOTNET Then
ClassLibrary1.Calc l_ClassLibrary1
l_ClassLibrary1 = create ClassLibrary1.Calc
k = l_ClassLibrary1.Add( i,j)
#END IF
messagebox("Add( i,j)",string(k))
-------------------------------------------------------------------------------------