5

「Visual Basic (6) が UNC パスを処理できる唯一の方法は、パスをドライブにマップすることです」という開発者からのフィードバックを受け取っています。これは正確ですか?もしそうなら、根本的な問題は何ですか?また、マップされたドライブ以外の代替手段はありますか?

4

7 に答える 7

6

UNC を使用して接続文字列を作成する従来の VB6 アプリがあるので、VB6 でそれができることはわかっています。多くの場合、パーミッションの問題が原因であることがわかります。

于 2008-09-17T19:03:28.033 に答える
3

これが機能する1つの方法です。

Sub Main()

    Dim fs As New FileSystemObject ' Add Reference to Microsoft Scripting Runtime
    MsgBox fs.FileExists("\\server\folder\file.ext")

End Sub
于 2008-09-17T19:05:57.450 に答える
2

古い学校のタイプのファイル処理でも機能します。

Open "\\host\share\file.txt" For Input As #1
Dim sTmp
Line Input #1, sTmp
MsgBox sTmp
Close #1
于 2008-09-19T11:56:31.870 に答える
1

Scripting.Runtimeライブラリを使用している場合、これは真実ではないと思います。

Oldschool VB には、ファイル処理用の言語構造がいくつかありました。これらは悪です。それらを使用しないでください。

于 2008-09-17T19:16:10.700 に答える
0

どのようなファイル I/O を行っていますか? テキストの場合は、FileSystemObject の使用を検討してください。

于 2008-09-19T02:41:44.443 に答える
0

以下の項目の組み合わせが存在する場合、VB6 UNC パスの問題を確認しました。

  • UNC は非表示の '$' 共有を指しています
  • サーバー名が 8 文字を超えているか、非標準文字が含まれています
  • パスの一部が非常に長い
  • サーバーは、パフォーマンスの目的で 8.3 のサポートをオフにしています

通常、75 パスのファイル アクセス エラーまたは 54 です。これは、前述の UNC の getshortfilename や getshortpathname などの API に関連している場合があります。

それ以外はうまく機能します...通常、マップされたパスにはこれらの問題はありませんが、これらの忌まわしいドライブマッピングは頻繁に切断され、いつでも変更される可能性があり、多くのサポートの頭痛の種になります.

于 2008-10-01T03:14:29.753 に答える