Einzelnen Beitrag anzeigen

Amanda

Registriert seit: 31. Mär 2019
28 Beiträge
 
#8

AW: QR-Code scannen

  Alt 28. Dez 2024, 19:05
constructor TfQRScanThread.create;
begin
inherited create(false);

starten := TEvent.create(nil, false, false, '');
fertig := TEvent.create(nil, true, true, '');
qrcode := TEvent.create(nil, true, false, '');

iBMP := TBitmap.Create;

iScanmanager := TScanManager.Create(TBarcodeFormat.QR_CODE, nil);

FreeOnTerminate := true;
end;

procedure TfQRScanThread.Execute ;
var
ReadResult : TReadResult;
str : string;
begin
while not Terminated do begin

if (starten.WaitFor(INFINITE) = wrSignaled) and assigned(iBMP) then begin
try
ReadResult := iScanManager.Scan(iBmp);
if assigned(readResult)then begin
qrcode.SetEvent;

str := readResult.Text;
freeAndNil(ReadResult);

queue(
procedure
begin
fQRCode.CameraComponent1.OnSampleBufferReady := nil;
fQRCode.CameraComponent1.Active := false;
fQRCode.imgCamera.Visible := false;
fQRCode.aScan.Checked := false;

pruefeQRCode(str);
//fQRCode.bild(iBMP, TAlphaColors.Green);
end);

end; // if

except
end; // try
end; // if

fertig.SetEvent;
end; // while

end;
  Mit Zitat antworten Zitat