Fehler in
unit zint_upcean
in function eanx
local_source kann länger als 20 sein:
So tritt der Zeigerfehler jedenfalls nicht mehr auf!?
tritt auf mit BARCODE_EANX_CC Primary "012345678905+123", also falscher Add-on Länge...
Code:
//SetLength(local_source, 20);//Alt
SetLength(local_source, 41);//Neu
//for reader := 0 to ustrlen(local_source) do //Alt
// if (source[reader] = Ord('+')) then with_addon := TRUE;//Alt
for reader := 0 to ustrlen(local_source) - 1 do //Neu
if (local_source[reader] = Ord('+')) then with_addon := TRUE;//Neu
in upcean.c ebenfalls bis <=!?
in procedure upce
noch einen:
Code:
//for i := 0 to ustrlen(source) do //Alt
for i := 0 to ustrlen(source)-1 do //Neu
case Chr(parity[i]) of
'A': lookup(NEON, EANsetA, source[i], dest);
'B': lookup(NEON, EANsetB, source[i], dest);
end;
in upcean.c ebenfalls bis <=!?