![]() |
AW: [Bibliothek] Barcode für Delphi (Zint)
Fehler nicht gefunden::(
EAN-14 und NVE-18: mit "1234567" Unterschied mit zint.pas und zint.dll mit "1234568" ist das Ergebnis jedoch gleich. Liegt wohl an check_digit bzw. nve_check im den Funktionen ean_14 bzw. nve_18 in der Unit zint_code128.pas Hat einer eine Idee:?: In Maxicode Mode 3 gibt es auch den Unterschied mit zint.pas und zint.dll: z.B. Data "123456" und Primary "123456000123123":!: |
AW: [Bibliothek] Barcode für Delphi (Zint)
Fehler gefunden::):)
EAN-14 und NVE-18: in ean_14 und nve_18 in der Unit zint_code128.pas in function nve_18
Code:
in function ean_14
//if((i and 1) <> 0) then //Alt
if((i and 1) = 0) then //Neu Inc(total_sum, 2 * StrToInt(Chr(source[i])));
Code:
:lol:
//if ((i and 1) <> 0) then //Alt
if ((i and 1) = 0) then //Neu Inc(count, 2 * StrToInt(Chr(source[i]))); |
AW: [Bibliothek] Barcode für Delphi (Zint)
Vielen Dank (mal wieder) für die gute Zuarbeit!
Die gefixte Version ist im SVN. Noch ein paar Kommentare:
|
AW: [Bibliothek] Barcode für Delphi (Zint)
Vielen Dank!
gerade zeigt der Zeiger erneut ins Leere::( tritt in Composite EAN Linear mit Primary-Länge kleiner 12 auf: unit zint_composite; { CC-A 2D component } function cc_a(
Code:
da cc_width > 3 sein kann und da macht es hier bum:
//dummy : array[0..4] of Integer;//Alt
dummy : array[0..5] of Integer;//Neu
Code:
keine gute Fehlerbehebung :(
for j := 0 to 4 do //Alt
if cc_width > 4 then cc_width := 4; //Neu for j := 0 to 5 do //Neu dummy[j] := 0; for j := 0 to cc_width - 1 do dummy[j + 1] := codeWords[i * cc_width + j]; Kann man mit Error wohl besser abfangen...:?: |
AW: [Bibliothek] Barcode für Delphi (Zint)
Das kann ich grad nicht nachvollziehen.
Wenn cc_width gleich 4 ist, dann läuft die Schleife (j) bis 3 (cc_width - 1) und schreibt maximal an die Stelle 4 (j + 1). Das ist sollte das dummy-array aber vertragen. Kannst du mal bitte die Daten (Primary und Daten) posten, mit denen der Fehler auftritt? |
AW: [Bibliothek] Barcode für Delphi (Zint)
ja stimmt.
aber cc_width kann grösser 4 sein. zB. bei Data: "[78] 1234" Primary: "12345678905" Vielleicht gibt es die Werte nicht, aber ich möchte bei falschen Werten den "Absturz" verhindern. Zint Barcode Studio 2.4 verabschiedet sich bei diesen Werten ganz.:( So mogel' ich simpler ;-)
Code:
Der Fehler liegt vorher - ein cc_width grösser 4.
if cc_width > 4 then cc_width := 4; //Neu
Nützt alles nichts. Die Werte lassen bei Mode CC-B das Programm in die Knie gehen. Und zwar diesmal hier: function cc_b:
Code:
for j := 0 to symbol.option_2 - 1 do
dummy[j + 1] := chainemc[i * symbol.option_2 + j]; |
AW: [Bibliothek] Barcode für Delphi (Zint)
Fehler/Absturz abgefangen::)
function composite:
Code:
case symbol.symbology of
{ Determine width of 2D component according to ISO/IEC 24723 Table 1 } BARCODE_EANX_CC: begin case pri_len of 7, { EAN-8 } 10, { EAN-8 + 2 } 13: { EAN-8 + 5 } cc_width := 3; 12, { EAN-13 } 15, { EAN-13 + 2 } 18: { EAN-13 + 5 } cc_width := 4; else //Neu begin //Neu concat(symbol.errtxt, 'Input wrong length in linear component'); //Neu result := ZERROR_INVALID_DATA; exit; //Neu end; //Neu end; end; |
AW: [Bibliothek] Barcode für Delphi (Zint)
Sehr gut! Danke für die gute Zuarbeit. :-D
|
AW: [Bibliothek] Barcode für Delphi (Zint)
function maxicode(
postcode[9] := #0; wurde vergessen, sonst gibt's Probleme in maxi_do_primary_2.
Code:
ArrayCopy(postcode, symbol.primary);
postcode[9] := #0;//Neu if (mode = 2) then begin //for i := 0 to 9 do //Neu for i := 0 to 8 do //Neu |
AW: [Bibliothek] Barcode für Delphi (Zint)
Deswegen wurde in maxicode latin1_process nochmals aufgerufen:
function latin1_process
Code:
if (source[i] = $C2) then
begin preprocessed[j] := source[i + 1]; if (preprocessed[j] < 128) then begin //Neu Inc(j); next := i + 2; end; //Neu end; if(source[i] = $C3) then begin preprocessed[j] := source[i + 1] + 64; if (preprocessed[j] < 128) then begin //Neu Inc(j); next := i + 2; end; //Neu end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02: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 by Thomas Breitkreuz