始めて質問いたしますので宜しくお願い致します。
ターミナルサーバー(Windows Server 2003 R2 SP2)上でVB5のアプリを動かしています。
FormからMSCommのコマンドにて通信ポート(COM1)のラベルプリンタ(SATO SR412)に
印刷を行うのですが1回目の印刷ではポートも正常に開けて印刷されますが
フォームを閉じずにそのまま2回目を印刷した際に8012(デバイスが開けません)のエラーが
発生し印刷できません。
フォームを閉じると印刷は可能となります。
Windows XP SP3上で同じVB5のアプリを動かすとフォームを閉じなくても2回目の印刷が可能
となります。
ターミナルサーバー側の設定をどのように変更すればエラーが発生せず
印刷できるかご教授頂ける方、宜しくお願い致します。
ちなみにマイクロソフトのパッチ:838291は適用しています。
【デバッグを行った状態】
MSCommのコマンドにてデバッグを行った際、1回目の印刷時にはメッセージBOXで
状態を表示致しましたが正常にPortOpen=FALSEとなりポートがクローズされています。
2回目の印刷時にもポートがオープンされている場合にもPortOpen = Falseにて
一度、クローズしたのちPortOpen = Trueにて開こうとしていますがエラーとなります。
実行のコマンドは以下となります。
With X_oMSComm
If .PortOpen = True Then
.PortOpen = False
End If
.CommPort = 1
.DTREnable = True
.RTSEnable = True
.NullDiscard = False
.Settings = "9600,N,8,1"
.Handshaking = 0
.SThreshold = 0
.RThreshold = 0
.InputLen = 0
.PortOpen = True ← このコマンドにてエラーとなります。
End With
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
同じ環境(ターミナルサーバ)で使ったことがあるわけではないので確証は何もありませんが
・回線クローズ・オープンの間に一定時間のwaitを入れたらどうなるでしょうか
(Sleepもしくは仮にボタン操作などでクローズ・オープンのイベントを分ける)
もしそれで動くのであればターミナルサーバ上の操作ということで
処理に何らかの遅延などが発生するのかもしれません
>ターミナルサーバー上でCOMポートをオープンしたままにしますと他のユーザーより使用する際にオープンできない
そりゃそうです(これは別にターミナルサーバに限った話ではありません)
複数ユーザで同じアプリ使うなら確かに占有されるので使う時だけ
オープン/クローズしないとリソースが占有されてしまいますが
書かれてるコードだとほとんど占有に近くなるのでは?
(テストコードとして書かれてるのなら良いんですが)
使い終わってすぐクローズしてるならそもそも再オープンなど不要だし
(念のためとかいう事ならこれまた支障なし)
自分以外のプログラムでリソース占有されてたら再オープンでエラーになります
(クローズはそのまま動くはず)
と書いて(多分ないとは思うけど)気になる点が一つ出ました
他のユーザなどでリソース占有してるとかいう事は無いですよね?
私にはそれぐらい使思いつきません
koi1234さん。
連絡が遅くなりましたが一定期間でのwait等試しましたが同様のエラーとなりました。
もう少し調べました所、何故このような動きになるかわかりませんが2回目に印刷指示を行った際、
ターミナルサーバー上でCOMポートをオープンするとターミナルサーバー上のCOMポートが見えなくなることが判明致しました。
回避策として印刷処理(MSCommにて制御する処理)を別のフォームに切り出すことにより、2回目でも印刷させる事ができました。
(フォームの動きとしてはメインのフォームで対象データを抽出した後、サブフォームにて印刷指示を行います。1回目の印刷処理が終了した後、
サブフォームはクローズしメインフォームに遷移します(この時点でCOMポートが通信可能となります)。
2回目に印刷指示を行う際は、再度、メインフォームからサブフォームに遷移します。この動きにより1回目、2回目を意識せずCOMポートが
通信可能な状態となります。
ターミナルサーバー上同一フォームで再オープンした際にCOMポートが見えなくなるのかは不明でしたのでこのような逃げ方をしました。
情報を頂きありがとうございました。
No.1
- 回答日時:
何でエラーになるのかの追求にはなってません
プログラムの仕様にもよってくるので何とも言えませんが
アプリ起動中はずっとオープンにしておく方が一般的ではないかと思いますが
それでは問題があるのでしょうか?(わざわざクローズする必要がありますか?)
この回答への補足
koi1234さん連絡ありがとうございます。
情報不足で申し訳ありません。
ポートがオープンできない状況を調査した際に切り分けとしてローカルでも同様の箇所でエラーになるのかそれともターミナルサーバー上のみでエラーとなるかをまず区別しました。その上でどのコマンドにてエラーとなっているかを調べた際にMSCommのオープン時にエラーとなっていました。
又、ターミナルサーバー上でCOMポートをオープンしたままにしますと他のユーザーより使用する際にオープンできないとの情報よりこのような作りとしています。
このようなエラーのケースの場合にはどのようにしてエラーを究明すればよいかアドバイスを頂ければと思います。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Visual Basic(VBA) 数式が消える 1 2023/03/19 16:55
- プリンタ・スキャナー キャノンmp490プリンター【エラー番号5400】で【プリンタートラブルが発生しました。電源を入れ直 2 2023/07/24 17:45
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- その他(Microsoft Office) Excelのマクロについて教えてください。 1 2022/03/25 10:03
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) Excelでnullになるような式のセルをマクロで空白行と認識させるにはどうすればいいですか? 3 2023/03/13 13:42
- Excel(エクセル) エクセルの印刷マクロについて質問があります。 現在、下記のマクロで印刷しています。Sheet1のD6 5 2023/06/12 10:59
- UNIX・Linux Ubuntu22.04、nanoエディタの使い方について 2 2022/10/24 19:50
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
市販DVD再生ができません。ubun...
-
CloudreadyでLinuxのセットアッ...
-
DirectXの内部システムエラー
-
冗長の失敗した場合の対処
-
HDDエラーチェック情報(Crystal...
-
Office2016でmso40uiwin32clien...
-
ファイルサイズが取得できない...
-
WebDAVの再生などについてアド...
-
マザーボードの赤いランプの意...
-
gpupdateでのエラーの対処
-
robocopy構文について
-
単純なループバック通信ができ...
-
B’s GoldでHDDバックアップ
-
正常に起動しないことがあります。
-
Ubuntu16.04にoctaveをinstall...
-
sims4についてです。 別のパソ...
-
Burnディスク作成時にディスク...
-
MACフォーマットのMOを読...
-
DVDを書き込み後、検証が失敗し...
-
MOをDOS形式にフォーマットする...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
市販DVD再生ができません。ubun...
-
ログにserver reached MaxReque...
-
ubuntu apt, apt-getのUpdate時...
-
マザーボードの赤いランプの意...
-
ビット落ちとは一体何なのでし...
-
makeコマンドのエラーについて(
-
同一LAN内からapacheにアクセス...
-
数年前からWindows10 の Update...
-
メールアドレスが生きているか...
-
Androidのログ
-
CloudreadyでLinuxのセットアッ...
-
UNIX(Cシェル)での数値...
-
ファイルにこれ以上データがあ...
-
SaAT Netizen(NzSess.exe)のメ...
-
時刻がかなり狂う。同期エラー...
-
Windows10でフォルダー名が変...
-
HDD交換修理したWindows10・...
-
異常にクラッシュやブルースク...
-
特定の Web サイトにアクセスで...
-
VMwareにCentOSをインストール...
おすすめ情報