Librería COM

Alberto49
08 de Marzo del 2004
Hola a todos!

Os voy a hacer otra pregunta, que no sé si sabreis; pero os lo pregunto. Estoy siguiendo los pasos de una información que he encontrado en internet (http://lhcb-comp.web.cern.ch/lhcb-comp/ECS/opcevaluation/opcclienttutorial/Project.html). Aqui te explican, cómo teniendo un fichero opc.idl insertarlo en el proyecto, cambiar unas opciones de los settings del visual studio 6.0. Este fichero .idl creo que sirve para generar un fichero .c y un .h (opc.h y opc_i.c). Con estos ficheros ya se puede hacer tu programa. Tb. tienes que registrar una dll (proxy.dll), que la tengo registrada.

Lo puedo hacer de 2 formas, pero de las 2 formas tengo una duda y una pregunta:
1_ opción siguiendo los pasos y usando el fichero opc.idl como se indica en el enlace:
Tengo la dll regitrada y el fichero .idl tb, pero no sé la equivalencia entre los settings del visual studio 6.0 y visual .net. <- duda
2_ sin usar el fichero opc.idl, porque ya tengo los ficheros opc.c y opc_i.h generados a partir de él.
Bien, los ficheros opc.h y opc_i.c ya los tengo en mi proyecto y la librería registrada. Pero cuando lo compilo y lo linco me da error:
c:PrysOPCSiguiendoPryPruebaOPC_I.C(69) : fatal error C1010: final de archivo inesperado al buscar la directiva de encabezado precompilado. Cómo lo corrijo? Cambiando los settings de mi proyecto? <- pregunta.

Hasta aqui es sin escribir nada de código, sólo intentando que me compile y linque.

El código que luego tendré que escribir es:

We want to write a code to instantiante an interface of the OPC server and then release it.
There will be 3 steps:
initialisation of the Microsft® COM® library.
Instantiantion of the IOPCServer interface.
Release of the IOPCServer interface.
closing of the Microsft® COM® library.
Here is the corresponding main function:
void main(void)
{
// have to be done before using microsoft COM library:
CoInitialize(NULL);
// Let's instantiante the IOPCServer interface and get a pointer of it:
IOPCServer* pServer = InstantiateServer(L"OPC.Evaluation:HV supply.1");
// release IOPServer interface:
pServer->Release();
//close the COM library
CoUnitialize();
}
Pero esto hasta ahora no lo he hecho.
Yo creo que los ficheros: opc.h y opc_i.c son para interactuar con la librería COM, verdad? vosotros alguna vez habéis hecho esto de usar un fichero .c y .h en tu proyecto .net para usar una librería COM? Y cómo lo hicisteis?

Un saludo.