C/Visual C - Instanciar Objetos en C++

 
Vista:

Instanciar Objetos en C++

Publicado por Roberto Flecha (1 intervención) el 07/03/2002 05:21:25
A ver si me podeis ayudar...

Necesito instanciar un objeto que esta registrado en el COM+, lo que seria en VB un SET OBJ = CREATEOBJECT("SALUDAR.HOLA"). A ver si me podeis ayudar de como se haria en C++. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Instanciar Objetos en C++

Publicado por Jose Cortes Diaz (3 intervenciones) el 08/03/2002 09:07:13
en stdafx.h poner

#include <atlbase.h>
//debes importar en stdafx.h el objeto
#import "libreria.dll"(tambien puede ser "libreria.exe" o "libreria.tlb") no_namespace named_guids (es para tener las interfaces del objeto declaradas ver libreria.tlh)
void Instanciar()
{
//A una Interfaz del objeto. Por ejemplo IUnknown. Si se pone una que el objeto no soporte falla el cocreate instance
CComPtr<IUnknown> unk;
CComBSTR cadena(_T("SALUDAR.HOLA"));
CLSID clsid;
CLSIDFromProgID(cadena.m_str,&clsid);
HRESULT hr=unk.CoCreateInstance(clsid);
if(FAILED(hr)) ::MessageBox(m_pMainWnd->m_hWnd,_T("Tiene registrado el objeto?"),_T(""),MB_OK);
else{//aqui el puntero unk es valido;
unk->AddRef();
}

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar