Moin Forum,
ich habe noch mal ein Problem mit Zint.
Ich wollte gestern noch mal etwas rumprobieren und bin jetzt auf ein Problem gestoßen.
Delphi-Quellcode:
procedure ZeichneDatamatrix;
var
myBmp :TBitMap;
myZintBarcode :TZintBarcode;
begin
myZintBarcode := TZintBarcode.Create;
myBmp := TBitmap.Create;
myZintBarcode.Clear;
myZintBarcode.BarcodeType := tBARCODE_DATAMATRIX;
myZintBarcode.Option3 := 100;
myZintBarcode.Scale := 1;
myZintBarcode.Data := EditBarcode.Text;
myZintBarcode.GetBarcode(myBmp);
Form1.Canvas.Draw(0,0,myBmp);
myBmp.Free;
myZintBarcode.Free;
end;
Wenn ich diesen Code ausführen lasse, dann bekommen ich eine Fehlermeldung: "Im Projekt XY ist eine
Exception der Klasse EOutOfResources mit der Meldung 'Systemresourcen erschöpft.' aufgetreten."
In der Zint-
Unit uZintInterface.pas in der Prozedur ZBarcodeToBitmap
Delphi-Quellcode:
procedure ZBarcodeToBitmap(ASymbol : PZSymbol; const ABitmap : TBitmap);
var
//bmpinfo : TBitmapInfo;
myp : PRGBTriple;
row : Integer;
rowwidth : Integer;
begin
ABitmap.PixelFormat := pf24bit;
ABitmap.SetSize(ASymbol.bitmap_width, ASymbol.bitmap_height);
hat ASymbol.bitmap_width einen Wert von 1311800 und ASymbol.bitmap_height 1310720.
Wie kommt es, dass dort solche großen Werte stehen? Der zu codierende Text war in diesem Beispiel "4455".
Gruß Oliver