1

私のVB6プログラムは、フォルダーが存在しないことを最初に確認した後、Mkdirを使用してフォルダーを作成します。これは、これ以上単純なコードではありません。

If LenB(Dir$(ImportFolder & "\" & UuidPartOfImportFolderName, vbDirectory)) = 0 Then
  MkDir ImportFolder & "\" & sIECommon2.gstrUniqueImportUuid
End If

このコードを自分の開発環境で IDE 内から実行したり、ローカル マシンで .exe を実行したりすると、完全に機能します。フォルダーが期待どおりに作成され、他のファイルがその中に正常に作成されます。

しかし、実行可能ファイルをビルドして別のマシンにインストールすると、Mkdir コマンドが「エラー 75: パス/ファイル アクセス エラー」というエラーをスローします。(MsgBox コマンドを直前と直後に配置することで、このコマンドに絞り込みました。前のものは表示されますが、後のものは表示されません。)

私の調査によると、Mkdir を使用して作成されたフォルダーのデフォルトのアクセス許可は、すべてのユーザーに対して rwx です。なぜ、私のマシンではなく他のマシンでエラーがスローされるのでしょうか?

あるいは、それが実行されているマシンとは何の関係もないのかもしれません-私には他の理論がありませんでした. もう 1 つの奇妙な点は、このプログラムが他の場所で何年も MkDir を使用してきたことです。追加機能を追加したときに、この新しいものを追加しました。

ありがとうございます。回答をお待ちしております。

4

1 に答える 1

0

WQW の回答が原因ではないかと思いますが、2 台のマシンが同じバージョンの VB6 ランタイム (MSVBVM6.dll) を実行していることを確認することをお勧めします。いくつかのバージョンがあります。それはロングショットですが、別のものとはわずかに異なる動作をする可能性があります。

しかし、繰り返しになりますが、作業している 2 つのフォルダー名がまったく同じではないのではないかと疑っています。

于 2011-04-18T20:04:36.157 に答える