ホーム
Top.Mail.Ru Yandeks.Metrika
フォーラム: "Main";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

ダウン

また、fmShareExclusiveのようなフォルダへのアクセスをブロックできますが、フォルダに対しては??? 似ている枝を探す


Art   (2001-12-18 15:12) [0]

また、fmShareExclusiveのようなフォルダへのアクセスをブロックできますが、フォルダに対しては???



Алексей Петров   (2001-12-18 16:08) [1]

CreateFileを使用すると、次のようなディレクトリを開くことができます。 そして排他的。

試してみる

MSDNの詳細



cdaDmitriy   (2001-12-18 17:20) [2]

>アレクセイ・ペトロフ©
CreateFileを使用するためのSOURCE
CreateFileでディレクトリを開くことはできますか? ...



Алексей Петров   (2001-12-18 17:23) [3]

> cdaDmitriy©(18.12.01 17:20)
MSDNを読んでください。
些細な場合のソースは引用しません。



Art   (2001-12-18 17:25) [4]

間違いなく試してみますが、MSDNの言葉はささいなことを吹き飛ばし、Delphiのことを言っています!!



cdaDmitriy   (2001-12-18 17:40) [5]

> Alexey Petrov©些細なケースは持ち込みませんか?
私が試した...例を試してみてください。



cdaDmitriy   (2001-12-18 17:47) [6]

S1:= "D:\ ICON \"; 含む そして排他的
H:=整数(CreateFile(PChar(S1)、GENERIC_READ、 0 、nil、OPEN_EXISTING、FILE_FLAG_BACKUP_SEMANTICS、0));
label1.Caption:= inttostr(H);
H <0の場合、EFCreateError.CreateResFmt(@S、[S1])を発生させます。




Art   (2001-12-18 17:53) [7]

cdaDmitriy otkudovaあなたはそれを得た、私はコードが機能していることは間違いないが、ディレクトリについて読みたい



cdaDmitriy   (2001-12-18 17:59) [8]

CreateFileのヘルプと試行



Art   (2001-12-18 20:24) [9]

あなたは馬鹿か、読み方がわからないかのどちらかです。質問がありました。フォルダをロックしてアクセスする必要があります。 そして、あなたは私にファイルについて???最初は信じていませんでしたが、その後、私はすべてを見つけました。



Anatoly Podgoretsky   (2001-12-18 20:28) [10]

はい、そして将来どのような回答が得られると思いますか。上記のコードを確認したくありませんが、次のフォルダーは同じファイルを示唆しています。



Art   (2001-12-18 21:39) [11]

「アナトリー、それから私はバカです!!! ? それだけです!!! above上記のコードを試して自分で書いたところ、何もなくなりませんでした。ディレクトリを指定しても何も変更されませんが、ファイルがあればすべてが機能していれば、ファイルはロックされています!!! ? これに対処する方法???



Алексей Петров   (2001-12-19 08:41) [12]

別のヒント:
「cdaDmitriy©(18.12.01 17:47)」によって提供されるコードには、2エラーが含まれています。
1。 ディレクトリ名では、最後の「\」は不要です。
2。 <0ではなく、INVALID_HANDLE_VALUEを確認することにより、開いているファイルを実行する必要があるかどうかを確認します。 DelphiおよびWinAPI整数(INVALID_HANDLE_VALUE)の現在のバージョンでは、もちろん<0ですが、理論的には、整数(ハンドル)<0のように、正しいハンドルが表示される可能性があります。
3。 WinAPIエラーを確認するには-書く方が便利です
Win32Check(H <> INVALID_HANDLE_VALUE)

> Art©(18.12.01 17:25)
MSDNが混乱している場合-SDKヘルプを参照してください。これは実際には、MSDNの切り捨てられたバージョンです。 また、Delphiからは、すべてのAPIが完全に呼び出されます。



cdaDmitriy   (2001-12-19 09:31) [13]

>アレクセイ・ペトロフ©

1。 ディレクトリ名では、最後の「\」は不要です。
不要ではありませんが、冗長です。

lpFileName

作成または開くオブジェクト(ファイル、パイプ、メールスロット、通信リソース、ディスクデバイス、コンソール、またはディレクトリ)の名前を指定するnullで終わる文字列を指します。

* lpFileNameがパスの場合、MAX_PATH文字のデフォルトの文字列サイズ制限があります。 この制限は、CreateFile関数がパスを解析する方法に関連しています。
Windows NT:CreateFileのワイド(W)バージョンを呼び出して、パスに「\\?\」を追加することにより、MAX_PATH文字より長いパスを使用できます。 「\\?\」は、パス解析をオフにするように関数に指示します。 これにより、ほぼ32,000 Unicode文字長のパスを使用できます。 この手法では完全修飾パスを使用する必要があります。 これはUNC名でも機能します。 「\\?\」はパスの一部として無視されます。 たとえば、「\\?\ C:\ myworld \ private」は「C:\ myworld \ private」と表示され、「\\?\ UNC \ tom_1 \ hotstuff \ coolapps」は「\\ tom_1 \ hotstuff」と表示されます\ coolapps "。

2。 ユニットクラスの実装を見てください。 でも
Win32Check(H <> INVALID_HANDLE_VALUE)はより信頼性があります。


{TFileStream}

コンストラクターTFileStream.Create(const FileName:string; Mode:Word);
始まる
Mode = fmCreateの場合
始まる
FHandle:= FileCreate(FileName);
FHandle <0の場合
raise EFCreateError.CreateResFmt(@SFCreateError、[FileName]);
他に終わり
始まる
FHandle:= FileOpen(ファイル名、モード);
FHandle <0の場合
raise EFOpenError.CreateResFmt(@SFOpenError、[FileName]);
終わり
終わり

アート©すべてがあなたが書いて送信したい場合に動作します



ページ: 1 全枝

フォーラム: "Main";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

2階





メモリ:0.59 MB
時間:0.025 c
1-22172
アスタード
2001-12-19 22:12
2002.01.08
人々は助けてください???


1-22119
Socol
2001-12-15 10:45
2002.01.08
2つの質問を手伝ってください。


1-22078
DJ X
2001-12-15 16:11
2002.01.08
変換、レジストリ、INI


3-21906
ユーリ・ジューコフ
2001-11-21 09:40
2002.01.08
Oracle ADO対DOA-fido7.ru.delphi.db


14-22411
マドブロ
2001-11-12 20:52
2002.01.08
WinXP CDキー





アフリカーンス語 アルバニア語 アラビア語 アルメニア語 アゼルバイジャン語 バスク ベラルーシ ブルガリア語 カタルーニャ語 中国語(簡体字) 中国語(繁体字) クロアチア語 チェコ語 デンマーク語 オランダ語 英語 エストニア語 フィリピン語 フィンランド語 フランス語
ガリシア語 ジョージアン ドイツ語 ギリシャ語 ハイチ語 ヘブライ語 ヒンディー語 ハンガリー語 アイスランド語 インドネシア語 アイリッシュ イタリア語 日本語 韓国語 ラトビア語 リトアニア マケドニア語 マレー語 マルタ語 ノルウェー語
ペルシア語 ポーランド語 ポルトガル語 ルーマニア語 ロシア語 セルビア スロバキア語 スロベニア語 スペイン語 スワヒリ語 スウェーデン語 タイ語 トルコ語 ウクライナ語 ウルドゥー語 ベトナム語 ウェールズ語 イディッシュ語 ベンガル語 ボスニア語
セブアノ語 エスペラント グジャラート語 ハウサ語 モン族 イボ ジャワ語 カンナダ語 クメール語 ラオ語 ラテン マオリ語 マラーティー語 モンゴル語 ネパール語 パンジャブ語 ソマリ タミル語 テルグ語 ヨルバ語
ズールー語
Английский Французский Немецкий Итальянский ポルトガル語 Русский Испанский