通过MCM Twain检查delphi中扫描仪的状态

时间:2014-08-13 12:31:59

标签: delphi

我正在使用delphi和MCMTwain进行扫描。当我点击扫描按钮时,如果扫描仪是应用程序卡住了。我需要在扫描前检查扫描仪是在线还是离线。如何在MCMtwain中检查此条件

1 个答案:

答案 0 :(得分:0)

这是我的一些旧代码,但不能再运行了。
它应该展示一个可能的工作流程,并希望帮助您解决您的问题。

var
  Twain: TDelphiTwain;
  SelectedSource: Integer;

begin
  Twain.LoadLibrary;
  Twain.LoadSourceManager;

  SelectedSource := Twain.SelectSource;
  if SelectedSource <> -1 then
  begin
    Twain.Source[SelectedSource].LoadSource;

    { set TransferMode }
    Twain.Source[SelectedSource].TransferMode := ttmNative;

    Twain.Source[SelectedSource].EnableSource(True, True);

    { I am not sure if ProcessMessages is necessary here }
    while Twain.Source[SelectedSource].Enabled do
      Application.ProcessMessages;  
  end;

  Twain.UnloadLibrary;
end;

完成采集后,OnTWAINImageReady组件的TDelphiTwain事件将被触发,您可以在那里处理获取的图像。