Zunächst an Chaosben an den anderen des Teams: Klasse Arbeit!
Mir ist da auch ein kleiner Fehler in Micro-QR aufgefallen:
Bei Auswahl der "Version 4" kommt es zu einer Zugriffsverletzung.
Ich denke der Fehler liegt daran, dass bei der Umwandlung von "TmqVersion" zu Option_2 Version 1 den Wert 1 hat usw.
intern wird aber mit den Werten 0 bis 3 gearbeitet. Wert 4 führt daher zu dem Fehler, ich vermute daher auch, dass bei Auswahl von "Version 2" in Wirklichkeit Version 3 angezeigt wird.
Der Fehler ist meine Meinung nach in "zint_qr.pas" in Funktion "microqr" (Zeile 2451):
Delphi-Quellcode:
// Get version from user
if((symbol.option_2 >= 1) and (symbol.option_2 <= 4)) then
begin
if(symbol.option_2 >= autoversion) then
//version := symbol.option_2; Originalzeile
version := symbol.option_2 - 1; // geändert
end;
In der gleichen Funktion vorher in Zeile 2405 ist vermutlich auch was falsch, was aber nicht so gravierend ist:
Delphi-Quellcode:
// Eliminate possible versions depending on error correction level specified
ecc_level := LEVEL_L;
if((symbol.option_1 >= 1) and (symbol.option_2 <= 4)) then
ecc_level := symbol.option_1;
Sollte der 2. Vergleich nicht "symbol.
option_1 <= 4" lauten, macht in meinen Augen mehr Sinn.
Ich hoffe, ich habe Euch damit weitergeholfen ...