 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
bobbylanuit Ens

Registrado: 06 Jul 2005Mensajes: 31
|
Publicado: Mar 27 Nov, 2007 11:16 pm Asunto: Import Type Library |
|
|
Hola buenas a todos.
Estoy intentando realizar una dll utilizando el componente CAPICOM de Microsoft. Las pruebas que he hecho en Visual Basic han sido más que satisfactorias y ahora quería probar con c++builder....
Pero se me presenta un problema.
Importo el componente desde Project->Import Type Library (CAPICOM) -> Create Unit
Una vez hecho esto se me crea una pestaña que contiene el fichero CAPICOM_TLB.cpp. Mi pregunta es la siguiente, ¿Cómo puedo tener acceso a las funciones que incluye éste último fichero?
Muchas gracias por adelantado.
Un saludo. Roberto Blasco. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mie 28 Nov, 2007 11:14 am Asunto: |
|
|
Hola:
| bobbylanuit escribió: | | Una vez hecho esto se me crea una pestaña que contiene el fichero CAPICOM_TLB.cpp. Mi pregunta es la siguiente, ¿Cómo puedo tener acceso a las funciones que incluye éste último fichero? |
Solo tienes que añadir la cabecera que también te genera: "CAPICOM_TLB.h" en el modulo donde la vayas a usar. Un pequeño ejemplo usando esta librería... lo que hace es mostrar una lista de certificados:
| Código: | CoInitialize(0);
TCOMIStore store = CoStore::Create();
store->Open(CAPICOM_CURRENT_USER_STORE, L"root",
CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
TCOMICertificates certs = store->Certificates;
if (certs->Count)
{
String str = "Certificados:\n\n";
for (int i = 1; i <= certs->Count; i++)
{
TVariant v;
certs->get_Item(i, v);
TCOMICertificate cert;
v.pdispVal->QueryInterface<ICertificate>(&cert);
WideString s;
cert->GetInfo(CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME, &s);
str += s + "\n";
}
ShowMessage(str);
} |
o de esta otra manera.. la anterior esta probada en las versiones 6 y 2007. Y la siguiente en las versiones 4, 6 y 2007:
| Código: | CoInitialize(0);
IStorePtr store;
CoCreateInstance(CLSID_Store, 0, CLSCTX_SERVER, IID_IStore, (void**)&store);
store->Open(CAPICOM_CURRENT_USER_STORE, L"root",
CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
ICertificatesPtr certs = store->Certificates;
if (certs->Count)
{
String str = "Certificados:\n\n";
for (int i = 1; i <= certs->Count; i++)
{
TVariant v;
certs->get_Item(i, &v);
ICertificatePtr cert;
v.pdispVal->QueryInterface(IID_ICertificate, (void**)&cert);
WideString s;
cert->GetInfo(CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME, &s);
str += s + "\n";
}
ShowMessage(str);
} |
En caso de que no esté añadido a tu proyecto el archivo "CAPICOM_TLB.cpp", también puedes añadirlo manualmente desde el menú: Project -> Add to Project...
Más información en la propia referencia de la librería:
CAPICOM Reference
Cryptography |
|
| Volver arriba |
|
 |
bobbylanuit Ens

Registrado: 06 Jul 2005Mensajes: 31
|
Publicado: Mie 28 Nov, 2007 12:12 pm Asunto: |
|
|
Muchísimas gracias, es un placer poder aprender con esta ayuda.
Un saludo. Roberto. |
|
| Volver arriba |
|
 |
xander2005 Cdt

Registrado: 16 Dic 2005Mensajes: 11
|
Publicado: Lun 26 Nov, 2018 1:48 pm Asunto: Duda |
|
|
Hola _Leo,
Perdona la pregunta pq es posible que sea una tontería, pero he intentado buscarlo por todos los lados y no lo encuentro, sabes si con la dll de CAPICOM puedo usar uno de los certificados que obtengo para firma un pdf.
Muchas gracias. |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|