tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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一般的にポートのオープンは、フォームを開いた時、
 クローズは閉じたときだけですか?
 現行のソースでは、その都度オープンクローズしています。

レベルが低くて申し訳ありませんが、よろしくお願いいたします。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。