🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: fj.lang.visualbasic
1 messages
1 total messages Started by Masaaki Mishiba Wed, 04 Feb 1998 00:00
VB5二重起動 共有ファイルOpenForLockのエラー
#756
Author: Masaaki Mishiba
Date: Wed, 04 Feb 1998 00:00
55 lines
2412 bytes
VB5(SP2)にてサーバー(NetWare:V3.12J/V)にある共有データファイルを1台
のクライアント(WindowsNT4.0:PC98)からOpen For Random Lock Read Write
としてOpen し、読み書きするプログラムを作成し二重起動したら、それに
続く Get文 のところで Err.Number=75:Err.Discription="パス名は、無効
です。"といったエラーが発生しました。 

Privete Sub FILEA_Open()
    Er% = 0
	F% = FreeFile
    On Error GoTo FILEA_Open_Err
	'''''	M: サーバー疑似ドライブ
    Open "M:\FILEA.DAT" For Random Lock Read Write As F% Len = 256
    On Error GoTo 0
    If Er% > 0 Then
        Exit Sub   '>>> 接続待機後再接続(Call FILEA_OPEN())
    End If
       
    Get #F%, 1, FILEA	'---> Err.Number=75 発生
		.
		.
	Close #F%
	Exit Sub

FILEA_Open_Err:
	Er% = 1
	Resume Next

End Sub

Open文のところで互いの排他制御をする予定が、予想外のところで変な
エラーが出てきて困っています。
また、このファイルは、別の MS-DOSクライアント(PC98)のN88BASIC
プログラムから

20000        ON ERROR GOTO *FILEA.OPEN.ERR
20050        OPEN "M:\FILEA.DAT" DENY ALL AS #1
20100        ON ERROR GOTO 0

といった形で共有しています。

とりあえず VB:Get文のところを

	On Error Goto File_Get_Err
	Get #F%, 1, FILEA
	On Error Goto 0

としてエラー処理(File_Get_Err)にて、ファイルをCloseし、プロシージャー
を抜け(Exit Sub)、接続待機の後、再接続(Call FILEA_OPEN())するように修
正しましたが、あまり適切な処理とは思えません。
何か良い対応方法があれば教えてください。

---
Masaaki Mishiba
masaaki@alles.or.jp
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads