Frequently Asked Question:
Must I re-compile after I upgrade Quick PDF Library’s ActiveX component?
When I use PDF lib in VB6 I declare the object:
ClassName = "QuickPDFAX0719.PDFLibrary"
When will be an upgrade, 7.20, this mean that I must to re-compile my program ? Normally activex component are made so you simply upgrade and register activex on a target machine and program is not re-compiled.
It's so ?
Thanks Filippo
Each release of Quick PDF Library has a different class name and file name. Also, the internal ActiveX GUIDs are changed with each release.
This is by design - we made this decision to ensure that customers who expect a particular version of QPL will always be using the version they compiled their application for.
We do appreciate that many of our customers would want to upgrade to a new version of Quick PDF Library without recompiling their applications.
When the ActiveX is registered on the system it is actually registered under two different names:
QuickPDFAXvvvv.PDFLibrary
(where vvvv is the version, for example0719
)QuickPDFAX.PDFLibrary
(note there is no version number)
So even with a new version, the constant class name will still be available.
The internal GUIDs are still changing though, so you can't use code like this:
' This will not work because the GUIDs change
Dim QP As QuickPDFAX.PDFLibrary
Set QP = CreateObject("QuickPDFAX.PDFLibrary")
But if you just declare your object type as Object
then this will be fine:
' This will work because the QP variable
' is not strongly typed
Dim QP As Object
Set QP = CreateObject("QuickPDFAX.PDFLibrary")
We are currently working on a small wrapper ActiveX object which will have a constant class name, file name and internal GUIDs. It will be called something like QuickPDFAXSwitch
and it will be able to link to any version of Quick PDF Library at runtime without recompiling your application.
This is planned for the 7.22 release - but might make it into 7.21 depending on the results of our release tests.