タイトル : Re^4: 応答なし、約1分後に回復 投稿日 : 2012/08/14(Tue) 12:48 投稿者 : 南向秀樹
魔界の仮面弁士 様 ご回答をありがとうございます。 > 略さずにそのまま Embedded と書いた方が無難ですが。 →開発当初は[Windows XP Professional]でしたが、 実機が[Embedded]で、マシンの特性もあるかもと思い、 現在は実機でテストしています。 > 更新されたバージョンを下記からダウンロードできます。 > http://www.grapecity.com/tools/downloads/update/activex →ありがとうございました、ダウンロードできました。 本日テストを繰り返すうちに、スプレッドと客側表示器の表示あたりで 「応答なし」になることが分かりました。 実際にはプリセットキーにしているラベルをクリックするプロシージャ内で、 @Select文で商品データを検索 A品名・単価・消費税などをスプレッドと客側表示器に表示 B合計を計算 を行っており、このプロシージャを500回〜1500回行うと症状が出ます。 ログを吐き出した中では、スプレッドか客側表示器かまだ確定できませんが、 固まっている最中に客側表示器の電源を落としてみると、即復帰しました。 1回の症状が出るのに30分〜1時間ほどテストの継続が必要ですが、 3回症状が出た中で、3回とも客側表示器の電源オフで復帰します。 その部分のソースは下記ですが、[ErrFunc]には飛ばないので、 この中でのタイムアウト待ちの可能性が高いと思われます。 '---On Error--- On Error GoTo ErrFunc With MSComm2 'Select com port to open .CommPort = iComPort 'Com Port Setting 'Baud rate 9600 'Parity N 'Data bit 8 'Stop bit 2 .Settings = "9600,N,8,2" 'Open com port .PortOpen = True .Output = Chr(12) .Output = sGLDH01 .Output = sGLDH02 'Close com port .PortOpen = False End With そこで質問は、下記の2点です。 @シリアルポートのタイムアウトの時間はVBで設定できますか? A一般的にポートのオープンは、フォームを開いた時、 クローズは閉じたときだけですか? 現行のソースでは、その都度オープンクローズしています。 レベルが低くて申し訳ありませんが、よろしくお願いいたします。 |