MsCommでモデム処理中にフォームを移動するには?

解決


SHIN  2003-04-08 06:18:16  No: 106579

Form1で定周期(10ms)で通信を行っていて、コマンドイベントでForm2へ移動すると、「デバイスが開かれていません」というエラーが発生します。通信中にFormを移動する際には、何か操作が必要なのでしょうか?
また、Form2から下のエラー行に到達するまでに、Form1のLoadも実行しています。
宜しくお願い致します。

Private Sub Timer1_Timer()  <- Form1へ記述
    MSComm1.PortOpen = True
    
    Call Write_sci
    
    MSComm1.PortOpen = False <- この行にエラーが発生
End Sub

Write_sciで送受信を行っています。受信待ちに  DoEvents()  を記述しています。


ととろジョージ  2003-04-09 20:12:31  No: 106580

こんにちは

>Form1で定周期(10ms)で通信を行っていて・・・・・
Errとは別なきがしますが処理は十分まにあってますか?

Private Sub Timer1_Timer()  <- Form1へ記述
    
    Call Write_sci
End Sub

sub Write_sci()
    Form1.MSComm1.PortOpen = True
    
       '今までの  Write_sciでの処理

    Form1.MSComm1.PortOpen = False 
End Sub

こちらの方法でもErrになりますか


ととろジョージ  2003-04-09 20:12:32  No: 106581

こんにちは

>Form1で定周期(10ms)で通信を行っていて・・・・・
Errとは別なきがしますが処理は十分まにあってますか?

Private Sub Timer1_Timer()  <- Form1へ記述
    
    Call Write_sci
End Sub

sub Write_sci()
    Form1.MSComm1.PortOpen = True
    
       '今までの  Write_sciでの処理

    Form1.MSComm1.PortOpen = False 
End Sub

こちらの方法でもErrになりますか


ととろジョージ  2003-04-09 20:13:55  No: 106582

すいません重複してしまいました


SHIN  2003-04-09 21:03:20  No: 106583

ご提案の方法を試してみましたが、変わりませんでした。DoEventでFormを移動させてはダメなのでしょうか?
周期の件は、調べてみるとTimerでは精度がかなり悪いそうですね。もう少し余裕を持った周期にします。


ととろジョージ  2003-04-10 01:22:34  No: 106584

ん〜  そうですか〜

>ご提案の方法を試してみましたが、変わりませんでした。DoEventでFormを移動させてはダメなのでしょうか?
試してはいませんけど  Formの切替かもしれませんね

私の場合は、ポートを一度オープンしたらアプリ終了まで閉じないように
してます。
私もFormを切替たことありましたが問題なしでしたよ

Private Sub Form_Load()
    Call Port開く
End sub

Sub Port開く()
With Form1
    If .MSComm1.PortOpen = False Then
        .MSComm1.Settings = "9600,n,8,1"
        .MSComm1.CommPort = 1
        .MSComm1.InputLen = 0  '全文字
        .MSComm1.InputMode = comInputModeBinary
        .MSComm1.InBufferSize = 2048
        .MSComm1.RTSEnable = False 'Sendライン
        .MSComm1.DTREnable = False '受信可能?
        .MSComm1.Handshaking = 2   ' 2
        .MSComm1.NullDiscard = False 'しない
        .MSComm1.PortOpen = True  '1開く
    End If
End With
End Sub

こんな感じだったんですが参考になるでしょうか
2日ほど出張ですがまたここへきてみます。


SHIN  2003-04-10 20:42:02  No: 106585

フォームの移動は、ポートが閉じている間行うようにすれば、エラーは発生しなくなりました。
とりあえずは、これでなんとかします。


ととろジョージ  2003-04-12 06:09:56  No: 106586

こんばんは

およっ    解決ですか?
すいません  お役にたてず


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加