Excel 자동화를 래핑하고 방대한 기능 중 일부만 보여주는 라이브러리를 만들고 싶습니다._com_ptr_t 포인터를 전달 선언하는 방법?
// EXCELAPP.H
#import "C:\\PathTo\\mso.dll" //...
#import "C:\\PathTo\\VBE6EXT.OLB" //...
#import "C:\\PathTo\\EXCEL.EXE" //...
class ExcelApp
{
public:
ExcelApp();
~ExcelApp();
void CloseExcel();
void ShowWindow();
void HideWindow();
// ...
private:
Excel::_ApplicationPtr m_app;
};
이 정적 라이브러리 프로젝트에, 나는 내 프로그램에서 그것이 잘 사용하고 있습니다 : 나는 Excel의 COM과 함께 작동하도록 # import를 메커니즘을 사용하고 , 그래서 지금 내가있다.
중요한 것은 라이브러리의 사용자가 어떻게 구현되는지 숨기고 싶습니다. 구현은 앞으로 변경 될 수 있습니다. 또한 .h 파일에 가져 오기 기능을 사용하면 모든 COM 인터페이스가 라이브러리 사용자에게 노출되므로이를 사용하지 않아도됩니다.
그래서 PImpl 관용구 같은 것을하려고 생각했지만, 적어도 m_app을 앞으로 선언해야합니다. 어떻게해야 할 지 잘 모릅니다.
그래서, Excel :: _ ApplicationPtr과 같은 _com_ptr_t 포인터를 전달하는 방법이 있습니까? 아니면 내가하려는 일을하는 더 좋은 방법이 있습니까?
때때로 나는 완전한 초보자 인 것 같은 느낌이 든다. .. 나는 어떻게 그것을 생각해 내지 않았느냐? 나는 그것이 최선의 해결책이 될지 모르지만 그것은 나에게 일어 났어야 ... – MikMik