![]() |
QR-Code Komponente TQRBarcode
Liste der Anhänge anzeigen (Anzahl: 2)
Da ich nach einiger Suche nichts (kostenfreies) gefunden habe, um QR-Code nativ zu erstellen, habe ich mich entschlossen, eine eigene Komponente zu programmieren.
Das erste funktionierende Ergebnis wollte ich hier vorstellen. Im Moment wird nur 8-bit-Encoding und ECC-Level H unterstützt. Properties: AutoVersion: True: QR-Code-Version wird automatisch bestimmt False: QR-Code-Version kann ab mindestens erforderlicher Version bis 40 eingestellt werden Blur: QR-Code wird weichgezeichet (0..10) Color0: Farbe für '0'-Bits Color1: Farbe für '1'-Bits QRImage: TImage, das den berechneten QR-Code enthält QRBitmap: Berechneter QR-Code als Bitmap (ReadOnly) QRBitmapEx: Berechneter QR-Code ('Dotted Mode')als Bitmap (ReadOnly) Overlay: Bitmap, die in der Mitte des QR-Codes plaziert wird (z.B. für Logos) QRText: Zu codierender Text QuietZone: Größe des 'leeren' Bereichs um den QR-Code ShowBorder: True: Rahmen mit Farbe 'Color1' wird um den QR-Code gezeichnet False: kein Rahmen ShowOverlay: True: Bitmap 'Overlay' wird in der Mitte des QR-Codes angezeigt False: 'Overlay' wird nicht angezeigt DottedQR: True: '1'-Bits werden kreisförmig angezeigt False: '1'-Bits werden normal angezeigt ShowOverlayBorder: True: Rahmen mit Farbe 'Color0' wird um die Overlay-Bitmap gezeichnet False: kein Rahmen Version: Lesen/Schreiben der verwendeten QR-Code-Version (1..40) Zoom: Zoomfaktor für berechnete QR-Code-Bitmap Methods: GenerateQR: QR-Code neu berechnen Events: OnQRGenerated: QR-Code wurde berechnet |
AW: QR-Code Komponente TQRBarcode
Ich würde die Komponente so umbauen, dass anstatt ein Bitmap und zusätzlich noch ein Image zu füllen
auf einen Canvas gezeichnet wird. Dazu könnte man GenerateQR so erweitern:
Delphi-Quellcode:
procedure GenerateQR(x,y:Integer; canvas:TCanvas);
Das hat den Vorteil, dass man den QR-Code z.B. direkt auf dem Canvas des Printer-Objekts an einer bestimmten Position ausgeben kann. |
AW: QR-Code Komponente TQRBarcode
Hallo Key65,
erstmal danke für diese Komponente. Funktioniert ganz gut! :thumb: Leak't aber Memory wie wild. --------------------------- Unexpected Memory Leak --------------------------- An unexpected memory leak has occurred. The unexpected small block leaks are: 13 - 20 bytes: TList x 1, UnicodeString x 48361 21 - 28 bytes: TBrush x 1, Unknown x 1 29 - 36 bytes: TPen x 1, TTouchManager x 1, TMargins x 1, TSizeConstraints x 1, Unknown x 2 37 - 44 bytes: TFont x 2 45 - 52 bytes: TPicture x 1 85 - 92 bytes: TStringList x 1509 101 - 108 bytes: TControlCanvas x 1 157 - 172 bytes: Unknown x 1 269 - 284 bytes: Unknown x 322 445 - 476 bytes: TImage x 1 573 - 620 bytes: Unknown x 1187 --------------------------- OK --------------------------- Könntest du das noch beheben? Edit: Ok, ich hab mal selbst Hand angelegt. Ich habe das iImage.Create aus dem Constructor CREATE entfernt. Weiterhin habe ich in GenerateQRCode die TStringlist's im StringlistArray entsprechend freigegeben. Jetzt leakt er zumindest nicht mehr. Das Handling von QRImage solltest du evtl. auch ändern. Wenn man ein Image im OI zugeordnet hat und dann das Image selbst löscht schmiert die IDE (XE2) ab. |
AW: QR-Code Komponente TQRBarcode
Hallo ConstantGardener,
danke für dein Feedback, habe deine Änderungen übernommen. Für das Problem mit dem zuweisen des Image und anschliessendem löschen habe ich (noch) keine Lösung. Unter Delphi 2009 verhält es sich leider auch so :cry: (Absturz IDE - Zugriffsverletzung bei Adresse...). |
AW: QR-Code Komponente TQRBarcode
Hallo Key65,
da nicht für. Ich suchte gerade eine neue Komponente für QRCodes und da kam deine mir gerade Recht. Btw. meine bisherige Wahl (Quiricol) hatte ich verworfen weil Sie auch Memory leakt. Da Sie aber in C++ geschrieben ist konnte ich da nichts machen. Da ist mir eine native Delphi-Lösung schon lieber. Also nochmal Danke. ca cg. |
AW: QR-Code Komponente TQRBarcode
Problem mit Absturz der IDE ist bei mir (Delphi 2009) behoben (siehe
![]() |
AW: QR-Code Komponente TQRBarcode
Lädst Du die Komponente neu hoch? Oder hast Du sie schon neu hochgeladen?
|
AW: QR-Code Komponente TQRBarcode
Ist bereits geschehen.
|
AW: QR-Code Komponente TQRBarcode
danke!
|
AW: QR-Code Komponente TQRBarcode
Hallo,
ich bin nutzer des C++ Builder 5. Gibt es eine fertige Version dieser Komponente, welche auch mit dem C++ builder Verison 5 funktioniert? Mit Delphi-Programmierung oder Komponentenerstellung bin ich leider gar nicht vertraut. Helmut |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz