PXV_Inst CoClass
Line 62: | Line 62: | ||
== How to Use == | == How to Use == | ||
− | Firstly you need call [[PXV:IPXV_Inst_Init|IPXV_Inst::Init]] function before any use of the SDK. But, if you've created a [[PXV: PXV_Control | PXV_Control]] object before, you may not call this function, because it has already been done through the creating of PXV_Control-object. Another important point: when you finishing work with the SDK, you should call [[PXV:IPXV_Inst_Shutdown|IPXV_Inst::Shutdown]] method to release all used resources, to stop | + | Firstly you need call [[PXV:IPXV_Inst_Init|IPXV_Inst::Init]] function before any use of the SDK. But, if you've created a [[PXV:PXV_Control|PXV_Control]] object before, you may not call this function, because it has already been done through the creating of PXV_Control-object. Another important point: when you finishing work with the SDK, you should call [[PXV:IPXV_Inst_Shutdown|IPXV_Inst::Shutdown]] method to release all used resources, to stop correctly all working threads, etc. But, if [[PXV:IPXV_Inst_Init|IPXV_Inst::Init]] method had not been called directly and only simple PXV_Control was used, then you may not call it. Also, in conclusion, the [[PXV:IPXV_Inst_Shutdown|IPXV_Inst::Shutdown]] method should be called the same number of times as [[PXV:IPXV_Inst_Init|IPXV_Inst::Init]] was called. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Revision as of 18:52, 29 May 2015
Overview
The main ActiveX-object of PDF-XChange Editor SDK that provides part of general functionality and gives access to additional extensions of SDK.
The GUID of object is:
- {973BF60B-4CC6-4be0-B408-3D80E07FC2E6}
The interface of control is:
How to Instantiate
You may instantiate the object in standard way by using the CoCreateInstance function or by any other method that is appropriate for instantiating of ActiveX-objects in your programming language.
For example, in C#:
AxPDFXEdit.AxPXV_Inst pdfInst = new AxPDFXEdit.AxPXV_Inst();
In VB6:
Dim pdfInst As PDFXEdit.PXV_Inst ... Set pdfInst = New PDFXEdit.PXV_Inst
In C++:
CComPtr<IPXV_Inst> spPDFInst; HRESULT hr = CoCreateInstance(__uuidof(PXV_Inst), nullptr, CLSCTX_INPROC_SERVER, __uuidof(IPXV_Inst), (void**)&spPDFInst);
Also, exists other special way to get pointer to IPXV_Inst interface. For example, in C++:
typedef HRESULT (__cdecl *t_pPXV_GetInstance)(IPXV_Inst** ppInst); #if defined _M_IX86 #define SDK_LIB_NAME L"PDFXEditCore.x86.DLL" #else #define SDK_LIB_NAME L"PDFXEditCore.x64.DLL" #endif CComPtr<IPXV_Inst> spPDFInst; HMODULE hSDKLib = LoadLibrary(SDK_LIB_NAME); t_pPXV_GetInstance pfn = (t_pPXV_GetInstance)GetProcAddress(hSDKLib, "PXV_GetInstance"); HRESULT hr = pfn(&spPDFInst);
- with this special method you will be able to use SDK without regular installation of ActiveX objects from SDK on the client machines. In other words - without standard registering of all ActiveX-objects from the SDK. And it will work for you, excepting one moment - in this case you will be unable to instantiate the simple ActiveX Control (PXV_Control).
How to Use
Firstly you need call IPXV_Inst::Init function before any use of the SDK. But, if you've created a PXV_Control object before, you may not call this function, because it has already been done through the creating of PXV_Control-object. Another important point: when you finishing work with the SDK, you should call IPXV_Inst::Shutdown method to release all used resources, to stop correctly all working threads, etc. But, if IPXV_Inst::Init method had not been called directly and only simple PXV_Control was used, then you may not call it. Also, in conclusion, the IPXV_Inst::Shutdown method should be called the same number of times as IPXV_Inst::Init was called.