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

タイトル Re^2: MSCommの動作実態と多重On Error文に関して教えて下さい。
投稿日: 2008/03/17(Mon) 10:20
投稿者BamChan
> Item(i)に適切ではない文字列が入っている可能性を調べてみるとか。
> # Printステートメントで取り扱うことのできない文字、という意味です。

<問題の部分の調査用変更>
下記の様に、暫定変更して、ランニング中です。
これで、現象を絞り込めると考えています。
Private OrgVal(256) As String
  :
    OrgVal(CrntNo) = ""        '逐次、全項目をHex文字列にして退避しておく
    For i = TblFact(CrntNo).Size - 1 To 0 Step -1
        If ch(i) = 0 Then
            OrgVal(CrntNo) = OrgVal(CrntNo) & "00"
        ElseIf ch(i) < 16 Then
            OrgVal(CrntNo) = OrgVal(CrntNo) & "0" & Hex(ch(i))
        Else
            OrgVal(CrntNo) = OrgVal(CrntNo) & Hex(ch(i))
        End If
    Next i
    OrgVal(CrntNo) = OrgVal(CrntNo) & "Z"  '"Z" をマークにしておく
  :
   Item(CrntNo) に対し、本来の編集を行う。 '(この中に問題の部分がありそう?)
  :
Private Sub Timer1_Timer()
    Dim i As Integer
    Rec = Date & "," & Time & ","
    Print #1, Rec;
    FOr i = 0 To Limit
        On Error GoTo ERR
        Print #1, Item(i);
        On Error GoTo 0
        Print#1, ",";
    Next i
    Print #1, ""          ' CR/LF を出力して、csvファイル1レコードとする
    Exit Sub
ERR:
    Print #1, OrgVal(i);  ' 本来の文字列の代わりに、Hex文字列を出力する。
    Resume Next
End Sub

これで、出力された.csv ファイルで、"Z"を検索すれば、どのItemにどの様な値が入力され
どの様な文字編集を行った際に、Printできなくなるか、が特定されると思います。
これで、結論に近づけると思います。

 色々、寄り道の多いやりとりになりましたが、私にとって意味深い寄り道でした。
本当に有難う御座いました。

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

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