Código fuente de la instancia de Winform
PB no puede llamar directamente a las DLL escritas en C#, sino que solo se pueden llamar como componentes COM, así que tenga cuidado al escribir DLL en C#.
Cree un nuevo proyecto en 1 y c#2005, el tipo es biblioteca de clases y el nombre del proyecto es AddCom.
Configuración: haga clic derecho en AddCom en el Explorador de soluciones, seleccione Propiedades, Generar y registrar interoperabilidad COM.
2. Abra el archivo AssemblyInfo.cs y configure [ensamblaje: ComVisible(true)]. Si no se modifica, otros programas no podrán llamarlo.
3.guid (identificación única global) se usará para escribir componentes de comunicación y debe usarse para escribir componentes de comunicación. C# generará uno y lo colocará en AssemblyInfo.cs de forma predeterminada. Si no se genera, existen muchos programas que generarán la guía en línea en el siguiente paso.
El código fuente en 4.c# es el siguiente. Escriba el siguiente código para generar el proyecto y obtener AddCom.dll en /bin/release.
Utilizar el sistema;
Utilizar el sistema. recolectar. Genérico;
Uso del sistema. Texto;
Usa el sistema. Tiempo de ejecución . InteropServices
Espacio de nombres AddCom
{
[Guid(" 298d 881C-e2a 3-4638-B872-73 eade 25511C ")] p >
Interfaz pública AddComInterface
{
[DispId(1)]
int iadd(int a, int b);
}
[Guid(" 2c5b 7580-4038-4d 90-BABD-8 b 83 fce5a 467 ")]
[interfaz de clase (tipo de interfaz de clase. Ninguno) ]
Clase pública AddComService: AddComInterface
{
AddComService pública()
{
} p >
Público int iadd(int a, int b)
{
int c = 0;
c = a b;
Devolver c;
}
}
}
5. Utilice el comando e:\ regasm AddCom.dll en DOS. El componente com registrado puede entenderse como no registrado. plataforma neta. Simplemente indique que el registro se realizó correctamente.
El componente 6.com es llamado mediante la llamada ole en pb11. Tenga en cuenta que este componente COM no se puede ver a través de "Examinar" o "Crear control Ole" y solo se puede llamar dinámicamente mediante los siguientes métodos.
Enteros li_a, li_b, li_total
// - Registra el componente com generado por c#.
OleObject ole_AddCom
ole_AddCom =Crear OLEObject
Li _ RC = ole _ add com.connecttoneobject("add com.AddComService")//addcom es c# En el espacio de nombres, el servicio addcom es una clase en el espacio de nombres en c#.
Si li _ rc lt gt entonces 0
MessageBox("ConnectToNewObject ", string(li_rc))
Return
Si. .. Terminará
// - Llame a la función en el componente com.
Li _ total = ole _ addcom.iadd (li _ a, li _ b) //iadd es la función (iadd en la clase (AddComService es c) en el espacio de nombres (addcom es c) en c#()).