🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.visualbasic
Article #756

VB5二重起動 共有ファイルOpenForLockのエラー

#756
From: 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
Technical Details
Message-ID: <6b9677$o7h$1@news.alles.or.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 105c2e,888f8d9548cace75,start
X-Google-Attributes: gid105c2e,public
From: masaaki@alles.or.jp (Masaaki Mishiba)
Subject: VB5二重起動 共有ファイルOpenForLockのエラー
Date: 1998/02/04
Message-ID: <6b9677$o7h$1@news.alles.or.jp>
X-Deja-AN: 321944584
Mime-Version: 1.0
X-Posting-Software: WSNews 2.022
X-pgp-fingerprint: 6C 86 14 AC BB E7 57 4C  3A 09 49 E9 0A 4E 12 87
X-public-key-fail: http://www.venus.dtinet.or.jp/~jacky/hirano1024.asc
Content-Type: Text/Plain; charset=ISO-2022-JP
Organization: AllesNet
Newsgroups: fj.lang.visualbasic