今まで使用していたwindows98のvaioで作成したプログラムを新しく購入したxpのvaioにプロジェクトファイルごと移して開いたら
「\MSDXM.OCXを読み込めません」と言うエラーが出てきました。
続けてロードをすると、
「読み込み中にエラーが発生しました」というメッセージが出てきました。
さらに続けて構わず実行すると
「実行時エラー'8002’ポート番号が不正です」というエラーメッセージが出てきました。
以前まで使用していた98のパソコンではエラーが出ないばかりか、別のxpのパソコンで行ってもエラーは出ませんでした。
私はプログラミングに関して初心者なのでどなたか教えて頂ければと思います。
宜しくお願いします。
最初のエラー以外のエラーは最初の処理がうまくいかなかったことによる
エラーだと思いますので
>「\MSDXM.OCXを読み込めません」と言うエラーが出てきました。
まず、これをなんとかしてください。
ヒントはここにあるでしょうか?
http://www.google.com/search?num=50&lr=lang_ja&q=%4D%53%44%58%4D%2E%6F%63%78
> 「読み込み中にエラーが発生しました」というメッセージが出てきました。
このメッセージが表示された場合、プロジェクトのあるフォルダに、
*.logファイルが出来ていると思います。その内容を確認してみてください。
>「\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
度々お手数をおかけ致しますが宜しくお願いします。
COM1がないからでしょう
デバイスマネージャでポート(COMとLPT)を調べて正しい値を入れてください
JANさんの言う通りCOM1がありませんでした。
ない場合はどうすればよろしいのですか?
それは新たに設定できるのですか?
初心者なためレベルの低い質問かと思われますが教えて頂けないでしょうか。
宜しくお願いします。
デバイスマネージャにCOM*(*は数字)があるのなら
その数字をMSCOMMのCommPortプロパティに入れてください。
COMがないのならUSBからCOMへの変換ケーブル等を
使用しないと出来ません。