información de ensamblaje
Escriba componentes COM en C# 2005 para que PB11 llame a ejemplos, comparta con usted
Las DLL escritas en C# no pueden ser llamadas directamente por PB, solo se pueden llamar componentes COM, así que así sea. Tenga cuidado al escribir dll en C#.
1. Cree un nuevo proyecto en 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", seleccione "Generar", seleccione "Registrarse para interoperabilidad COM (_P)"
2. cs, configure [ensamblaje: ComVisible (verdadero)], si no se modifica, otros programas no pueden llamarlo
3. Se utilizará Guid (ID única global) al escribir componentes com y al escribir com. Los componentes deben ser utilizados. C# generará uno de forma predeterminada y lo colocará en AssemblyInfo.cs. Si no se genera, hay muchos programas en Internet que pueden generar guid.
4. El código fuente en C# es el siguiente. Escriba el código de la siguiente manera para generar el proyecto y obtenga AddCom.dll en /bin/release.
usando System;
usando System.Collections.Generic;
usando System.Text;
usando System.Runtime.InteropServices;
espacio de nombres AddCom
{
[Guid("298D881C-E2A3-4638-B872-73EADE25511C")]
interfaz pública AddComInterface
{
[DispId(1)]
int iadd(int a, int b);
}
[Guid("2C5B7580-4038-4d90-BABD-8B83FCE5A467")]
[ClassInterface(ClassInterfaceType.None)]
clase pública AddComService: AddComInterface
{
public AddComService()
{
}
public int iadd(int a, int b) p>
{
int c = 0;
c = a + b;
devuelve c;
}
}
}
5. Utilice el comando e:\regasm AddCom.dll para registrar el componente COM en DOS, que puede entenderse como registro regsvr32 en Componente dll para plataformas que no son .net. Le indicará que el registro se realizó correctamente.
6. En pb11, las llamadas ole se usan para llamar al componente COM. Tenga en cuenta que este componente COM no se puede ver usando el control create ole. Solo se puede llamar directa y dinámicamente usando el siguiente método. .
entero li_a,li_b,li_total
//----------Registrar el componente com generado por c#----------- -
OleObject ole_AddCom
ole_AddCom = Crear OLEObject
li_rc = ole_AddCom.ConnectToNewObject("AddCom.AddComService") //AddCom es un espacio de nombres en c#, AddComService es clase c# en el espacio de nombres
si li_rc <> 0 entonces
MessageBox("ConnectToNewObject", string(li_rc) )
return
end if
//----------Llamar 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#