「実行時エラー ’8002’ポート番号が不正です」を修正するには?


初心者 of プログラミング  2004-07-05 11:50:07  No: 114515  IP: [192.*.*.*]

今まで使用していたwindows98のvaioで作成したプログラムを新しく購入したxpのvaioにプロジェクトファイルごと移して開いたら
      「\MSDXM.OCXを読み込めません」と言うエラーが出てきました。
  
  続けてロードをすると、
「読み込み中にエラーが発生しました」というメッセージが出てきました。
  
  さらに続けて構わず実行すると
    「実行時エラー'8002’ポート番号が不正です」というエラーメッセージが出てきました。

  以前まで使用していた98のパソコンではエラーが出ないばかりか、別のxpのパソコンで行ってもエラーは出ませんでした。


  私はプログラミングに関して初心者なのでどなたか教えて頂ければと思います。

宜しくお願いします。

編集 削除
JAN  2004-07-05 12:03:51  No: 114516  IP: [192.*.*.*]

最初のエラー以外のエラーは最初の処理がうまくいかなかったことによる
エラーだと思いますので  
>「\MSDXM.OCXを読み込めません」と言うエラーが出てきました。
まず、これをなんとかしてください。

ヒントはここにあるでしょうか?
http://www.google.com/search?num=50&lr=lang_ja&q=%4D%53%44%58%4D%2E%6F%63%78

編集 削除
魔界の仮面弁士  2004-07-05 12:15:34  No: 114517  IP: [192.*.*.*]

> 「読み込み中にエラーが発生しました」というメッセージが出てきました。
このメッセージが表示された場合、プロジェクトのあるフォルダに、
*.logファイルが出来ていると思います。その内容を確認してみてください。

編集 削除
初心者 of プログラミング  2004-07-05 13:32:21  No: 114518  IP: [192.*.*.*]

>「\MSDXM.OCXを読み込めません」と言うエラーが出てきました。
これに関しては修正プログラムをインストールしたら解決したみたいです。
>「実行時エラー'8002’ポート番号が不正です」というエラーメッセージに関してはまだ出ます。
*.logファイルと言うのはフォームについてのテキストドキュメントでいいのですか??
ちなみにデバックすると以下のコードを使うのですが、

Private Sub Command2_Click()
MSComm1.Output = "mod 3" & Chr(13) & Chr(10)
End Sub

Private Sub Command3_Click()
MSComm1.Output = "mod 5" & Chr(13) & Chr(10)
End Sub

Private Sub Command4_Click()
MSComm1.Output = "mod 0" & Chr(13) & Chr(10)
End Sub

Private Sub Command5_Click()
MSComm1.Output = "mod 4" & Chr(13) & Chr(10)
End Sub

Private Sub Command6_Click()
   a = InputBox("ID番号を入れてください")
   MSComm1.Output = "sch 300" & a & "" & Chr(13) & Chr(5)
End Sub
Private Sub Dir1_Change()
    File1.Path = Dir1.Path
    File1.Pattern = Combo1.Text
End Sub
Private Sub drive1_change()
    Dir1.Path = Drive1.Drive
End Sub
Private Sub File1_Click()
     F = File1.Path
If Right(F, 1) = "\" Then F = Left(F, 2)
MediaPlayer1.FileName = F & "\" & File1.FileName
MediaPlayer1.Play
    MSComm1.Output = "mod 0" & Chr(13) & Chr(10)
    Form2.Visible = True
End Sub
Private Sub Form_Load()
    MSComm1.CommPort = 1
    MSComm1.InputLen = 1
    MSComm1.RThreshold = 1
    MSComm1.PortOpen = True                  ←ここでエラーとなります
    Timer1.Interval = 300
    Text1.Text = ""
    Combo1.AddItem "*.avi"
    Combo1.AddItem "*.*"
    Combo1.Text = "*.avi"
    Combo1.AddItem "*.mpg"
    Combo1.AddItem "*.*"
    Combo1.Text = "*.mpg"
    Me.Move 0, 0
End Sub
Private Sub MediaPlayer1_OpenStateChange(ByVal oldstate As Long, ByVal newstate As Long)
    Form2.Visible = True
    Form1.Visible = True
End Sub
Private Sub command1_click()
    q(0) = Time
    MediaPlayer1.Play
    MSComm1.Output = "mod 0" & Chr(13) & Chr(10)
    Form2.Visible = True
End Sub
Private Sub MSComm1_OnComm()
Do While buf <> Chr(10)
buf = MSComm1.Input
xbuf = xbuf & buf
Loop
'Debug.Print xbuf
Select Case Left(xbuf, 3)
Case "STA"
 STA (xbuf)
 End Select
End Sub
Private Sub Timer1_Timer()
MSComm1.Output = "STA?" & Chr(13) & Chr(10)
End Sub
Private Sub STA(buf)
Select Case Mid(buf, 5, 1)
Case "0"
 Text1.Text = "FWD"
Case "3"
 Text1.Text = "STOP"
Case "4"
 Text1.Text = "FF"
Case "5"
 Text1.Text = "REW"
 End Select
End Sub
Private Sub form_unload(cancel As Integer)
MSComm1.Output = "mod 3" & Chr(13) & Chr(10)
MSComm1.PortOpen = False
End Sub


度々お手数をおかけ致しますが宜しくお願いします。

編集 削除
JAN  2004-07-05 14:08:30  No: 114519  IP: [192.*.*.*]

COM1がないからでしょう
デバイスマネージャでポート(COMとLPT)を調べて正しい値を入れてください

編集 削除
初心者 of プログラミング  2004-07-05 18:20:05  No: 114520  IP: [192.*.*.*]

JANさんの言う通りCOM1がありませんでした。
ない場合はどうすればよろしいのですか?
それは新たに設定できるのですか?
初心者なためレベルの低い質問かと思われますが教えて頂けないでしょうか。
宜しくお願いします。

編集 削除
ken  2004-07-05 18:53:43  No: 114521  IP: [192.*.*.*]

デバイスマネージャにCOM*(*は数字)があるのなら
その数字をMSCOMMのCommPortプロパティに入れてください。
COMがないのならUSBからCOMへの変換ケーブル等を
使用しないと出来ません。

編集 削除