ホーム
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.6 MB
時間:0.026 c
1-22162
BFG
2001-12-19 20:41
2002.01.08
AVI


14-22371
密な
2001-11-08 17:11
2002.01.08
死後の人生?


4-22468
ザブル
2001-11-02 11:56
2002.01.08
メモリリーク


14-22329
Dima-k17
2001-11-03 15:12
2002.01.08
Delphi Timesは終わりましたか?


14-22357
ヴィクトル・シェルバコフ
2001-11-01 12:40
2002.01.08
写真の回復





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