Erforderliche Kernkomponenten
Um die Aztec-Kodierung in VC++ zu implementieren, stellen Sie sicher, dass die folgenden Dateien vorhanden sind:
1.
bcsaztec.ttf : Die spezialisierte TrueType-Schriftart für das Barcode-Rendering.
2.
cruflbcs.dll : Die COM-Bibliothek, die die IAztec-Schnittstelle bereitstellt.
Hinweis: Nach der Installation befindet sich die DLL normalerweise unter:
C:\Program Files (x86)\Common Files\Barcodesoft\Fontutil\
Methode 1: Späte Bindung (Late Binding)
Ideal für versionsunabhängigen Code. Verwenden Sie dies, wenn Typinformationen zur Kompilierzeit nicht verfügbar sind.
CoInitialize(NULL);
CLSID clsid;
if (FAILED(::CLSIDFromProgID(L"cruflbcs.Aztec.1", &clsid))) return 0;
IDispatch* pIDispatch = NULL;
::CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER, IID_IDispatch, (void**)&pIDispatch);
// Encode-Methode aufrufen
LPOLESTR szNameEncode = L"Encode";
DISPID dispid_encode;
pIDispatch->GetIDsOfNames(IID_NULL, &szNameEncode, 1, LOCALE_SYSTEM_DEFAULT, &dispid_encode);
VARIANTARG v[1];
v[0].vt = VT_BSTR; v[0].bstrVal = SysAllocString(L"Barcodesoft Sample");
DISPPARAMS dispParams = { v, NULL, 1, 0 };
VARIANT vResult;
pIDispatch->Invoke(dispid_encode, IID_NULL, GetUserDefaultLCID(), DISPATCH_METHOD, &dispParams, &vResult, NULL, NULL);
pIDispatch->Release();
CoUninitialize();
Methode 2: Frühe Bindung (Early Binding)
Empfohlen für maximale Performance . Erfordert Zugriff auf die Typbibliothek zur Kompilierzeit.
#include <atlbase.h>
#include <atlconv.h>
#import "cruflbcs.dll"
using namespace cruflBCS;
USES_CONVERSION;
CoInitialize(NULL);
_bstr_t bstrOutput;
char pszToEncode[] = "Barcodesoft Sample";
try {
cruflBCS::IAztecPtr pBcsAztec(__uuidof(CBcsAztec));
bstrOutput = pBcsAztec->Encode(T2OLE(pszToEncode));} catch (const _com_error& e) {
_tprintf(_T("Fehler: 0x%08x %s\n"), e.Error(), e.ErrorMessage());}
CoUninitialize();
Verwendung von MFC zur Erstellung von Wrapper-Klassen
Schritte für modernes Visual Studio:
Wählen Sie Klasse hinzufügen aus dem Projektmenü.
Wählen Sie MFC-Klasse aus Typbibliothek .
Wählen Sie Registrierung und suchen Sie crUFLBCS .
Fügen Sie die IAztec -Schnittstelle zu Ihrem Projekt hinzu.
Initialisieren Sie mit OleInitialize(NULL).
// MFC-Implementierung
CString strOutput;
IAztec *pAztecObj = new IAztec();
if (pAztecObj->CreateDispatch("cruflbcs.Aztec.1")) {
strOutput = pAztecObj->Encode("Barcodesoft Sample");}
Für fortgeschrittene Kodierungsoptionen und technische Spezifikationen besuchen Sie die
Aztec Barcode Software Homepage .