반응형

1. stdafx 에 추가.

//-------------------------------------------------------
#import "../CCalCuDll/CCalCuDll.tlb" no_namespace
//--------------------------------------------------------

2. 스마트 포인터 맴버 변수 추가

 //ICCalCu* pICalCu; IAddPtr 스마트 포인터 안쓸때.
 ICCalCuPtr pICalCu;


3. OnInitDialog에 추가

 AfxOleInit();
 HRESULT hr;
 hr = pICalCu.CreateInstance(__uuidof(CCalCu));
 if( FAILED(hr) )
 {
  MessageBox("인스턴스 생성샐패");
  ExitProcess(0);
 }


4. 사용은 똑같이.


5. 종료시

-->> pICalCu->Release(); 자동 릴리즈 되므로 하지 말자..



첨부된 ppt에 스마트 포인터 ATL 쓰는법 있음.




////////////// 콘솔에서의 사용 //////////////////////////

 

#include <iostream.h>
#include <objbase.h>
#include <windows.h>

#import "../ATLCOM_ECHOSERV_DLL/ATLCOM_ECHOSERV_DLL.tlb" no_namespace

int main()
{
 CoInitialize(NULL); // AfxOleInit(); 대신 저 놈을 해야함.
 HRESULT hr;
 IEchoServPtr pIEchoServ;
 hr = pIEchoServ.CreateInstance(__uuidof(EchoServ));
 if( FAILED(hr) )
 {
  cout<<"인스턴스 생성실패"<<endl;
  ExitProcess(0);
 }

 pIEchoServ->StartServer();

 CoUninitialize();

 return 0;
}

반응형

+ Recent posts