Problème TFilestream dans BDS 2006
Bonjour,
Le programme ci-après réagit différemment selon qu'il est compilé avec Delphi7
ou avec BDS.2006 VCL.NET.
a) Compilation avec Delphi7
La seconde tentative d'ouverture de fichier provoque le message:
"Impossible d'ouvrir le fichier....car ce fichier est utilisé par un autre
utilisateur..
C'est normal, c'est le but recherché.
b) Compilation avec BDS.2006 VCL.NET
Dans ce cas, les deux ouvertures successives du fichier ne provoquent
pas d'erreur.
Est-ce un "Bug" dans BDS.2006 VCL.NET ou une erreur de ma part, ou
autre chose ?
Merci d'avance à celui qui connaît la réponse.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm} //$R *.nfm en VCL.NET
Var Projet,Chemin:string;
F2:TFilesTream;
procedure CreerFichier;
begin
F2:=TFileStream.Create(chemin,fmCreate OR fmShareExclusive);
F2.Free;
end;
procedure OuvrirFichier;
begin
F2:=TFileStream.Create(chemin,fmOpenReadWrite OR fmShareExclusive);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Projet:='Dossier01';
chemin:='C:\'+Projet+'.FX1';
CreerFichier;
OuvrirFichier;
showmessage('Après ce message, seconde tentative d''ouverture du fichier');
OuvrirFichier;
showmessage('Après seconde ouverture');
F2.Free;
end;
end. |