2

OPOS 互換の MSR を使用しています。イベントの順序は次のとおりです。

  1. 開ける
  2. 請求
  3. 有効
  4. リリース
  5. 近い
4

1 に答える 1

5

技術的には、// = TRUE / Open()= FALSE //です。ClaimDevice()DeviceEnabledDeviceEnabledReleaseDevice()Close()

Open()指定されたデバイスへのハンドルを要求し、デバイスが存在する場合に機能するはずです。 Close()はマッチング ペア関数であり、アプリケーションがデバイスを必要としなくなったときに呼び出す必要があります。

ClaimDevice()(以前はClaim()メソッドと呼ばれていました) は、デバイスへのアクセスを試みます。デバイスが専用デバイス (バーコード スキャナーなど) であるClaimDevice()場合、別のプロセスが既に要求している場合、 は失敗します。 ReleaseDevice()(としても知られてRelease()いますが、その名前は COM メソッドと競合していますRelease()) は、アプリケーションがデバイスにアクセスする必要がなくなったときに呼び出す必要がある、対応するペア関数です。これにより、アプリケーション間でデバイスを適切に共有できます。例として、販売アプリケーションに在庫アプリケーションに入るボタンがある場合があります。ReleaseDevice()在庫アプリケーションが正常に呼び出せるように、販売アプリケーションはスキャナを呼び出す必要がありますClaimDevice()

DeviceEnableTRUE に設定すると、デバイスは入力可能になります。バーコード スキャナーの場合は、レーザーをオンにします。有効なデバイスのみが s を起動しますDataEvent()。通常、バーコードを受け入れる準備ができたらバーコード スキャナーを true に設定し、バーコードにエラーがあり、スキャンを停止したい場合は false に設定します。

DeviceEnable技術的には、呼び出す前に false に設定する必要はありませんReleaseDevice()ReleaseDevice()を呼び出す前に呼び出す必要さえありませんClose()。OPOS は神経質なメイドのようなもので、アプリケーションがクリーンアップしなくてもクリーンアップします。ただし、デバイスが適切に管理されていない場合、それはずさんなプログラミングの証拠であると個人的には考えています。

于 2012-11-02T20:55:53.517 に答える