Bonjour.
En testant un programme, je suis confronté à un problème bizarre (Lazarus 2.02).
Mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
procedure TForm1.Button1Click(Sender: TObject);
var
  Buffer: TMemoryStream;
  S : string;
begin
  Buffer:= TMemoryStream.Create;
  S:= 'essai de stream ';
  Buffer.Write(Pointer(S)^, length(S)*SizeOf(Char));
  Buffer.SaveToFile('C:\monfichier.txt');
  Buffer.Free;
end;
A savoir : j'ai deux disques durs, C sur lequel est installé W10 et E.

Le code ci-dessus génère une erreur "EFCreateError" avec le message "Unable to create file ..."

En revanche, avec Buffer.SaveToFile('E:\monfichier.txt'); tout se passe bien.

Tout se passe bien également avec Buffer.SaveToFile('C:\test\monfichier.txt'); (sous réserve que le répertoire test existe)

Il semblerait donc qu'il est impossible d'écrire le fichier à la racine du disque C ! Surprenant ...

Cordialement. Christian