Android 如何提高Firemonkey(TEdit组件)的扫描速度

Android 如何提高Firemonkey(TEdit组件)的扫描速度,android,delphi,barcode,firemonkey,delphi-xe8,Android,Delphi,Barcode,Firemonkey,Delphi Xe8,我的问题是如何将EAN13条形码中的值读取到TEdit字段。我用Delphi Firemonkey开发了一个android应用程序,它应该读取1D Ean13条形码,然后它将处理数据库,毕竟它会给我们一个正确与否的结果 基本上,我使用存储过程来执行这些步骤,但在Firemonkey表单中,我的TEdit字段对于1D条形码扫描仪来说太慢了。我的测试设备是Urovo i6200s。Android版本是4.1.2 现在,我试图提高扫描速度,但在FMX中我做不到。Webservice正在0.0052秒内

我的问题是如何将EAN13条形码中的值读取到TEdit字段。我用Delphi Firemonkey开发了一个android应用程序,它应该读取1D Ean13条形码,然后它将处理数据库,毕竟它会给我们一个正确与否的结果

基本上,我使用存储过程来执行这些步骤,但在Firemonkey表单中,我的TEdit字段对于1D条形码扫描仪来说太慢了。我的测试设备是Urovo i6200s。Android版本是4.1.2

现在,我试图提高扫描速度,但在FMX中我做不到。Webservice正在0.0052秒内调用结果。但是TEdit将我的值写入Edit1.Text几乎需要2.5秒

顺便说一句,我尝试扫描我的条形码并将其写入消息应用程序中的默认Android浏览器和输入字段,结果和我的webservice结果一样快。我还尝试在没有事件引用的情况下编写Edit1,但速度仍然很慢

有什么解决方案、优化或我能做的吗

编辑:这是我的提问代码:但这不是我的代码。它是关于TEdit的

procedure TfrmMain.eBarcodeChangeTracking(Sender: TObject);
var
  result: integer;
begin
  lblStatus.Text := '';

  if eBarcode.Text.Length = 12 then
  begin
    result := -1;
    try
      result := MyService.CheckBarcode(eBarcode.Text);
    except
      on E: Exception do
      begin
        ShowMessage('Error occurred while reading barcode');
      end;

    end;

    eBarcode.Text := '';

    if result = 0 then
    begin
      lblStatus.Text := 'OK';
    end else 
      lblStatus.Text := 'Failed';
  end;
end;

结束

我们怎么才能开始提供关于如何优化我们看不到的代码的建议呢?我的意思是“如何提高TEdit的阅读速度,而不是在我的代码中。正如我前面所说,如果没有代码或事件引用(这意味着没有调用代码),它太慢了。唯一的问题是速度。我的代码很好。它在Windows中运行良好,但在Android中没有FMX。当然
TEdit
不是问题。你的条形码扫描仪如何将其结果输入到你的TEdit中?它是否像大多数条形码扫描仪那样模拟关键事件?如果是,你在何时/何地处理它数据库中的条形码?我真心希望您正在启动数据库签入OnChange事件,因为这将导致在数据库中为每个输入的字符检查TEdit内容,这可能会在应用程序准备好进行新输入之前造成相当大的延迟。@J…如果我创建一个新的FMX应用程序,那么我将创建一个新的TEdit,然后再编译在我的应用程序中,它得到了相同的结果。我的意思是,如果没有代码,它应该工作得很快,对吗?但它仍然太慢。如果你有任何1D条形码阅读器和android设备,你可以试试我说的。