[delphi] zapis i odczyr strumienia

0

Mam taki kawałek kodu:

procedura odczyt;
var
FileStream : TFileStream;
i : integer;
begin
FileStream := TFileStream.Create('KAT.ini', fmOpenRead);
FileStream.ReadComponent(Image2);
FileStream.ReadComponent(pNoweGUI);
for i:=0 to ComponentCount - 1 do
if Components[i] is TSpeedButton then
if Copy(TSpeedButton(Components[i]).Name, 0, 5) &lt&gt 'Speed' then
FileStream.ReadComponent(TSpeedButton(Components[i]));

for i:=0 to ComponentCount - 1 do
if Components[i] is TLabel then
if TLabel(Components[i]).Tag &lt&gt 0 then
FileStream.ReadComponent(TLabel(Components[i]));
FileStream.Free;
end;

procedura zapis;
var
FileStream : TFileStream;
i : integer;
begin
if FileExists('Kat.ini') then * jezeli istnieje plik
FileStream := TFileStream.Create('Kat.ini', fmOpenWrite)
else * otworz plik tylko do zapisu
FileStream := TFileStream.Create('Kat.ini', fmCreate); * w przeciwnym wypadku stworz plik
FileStream.WriteComponent(Image2);
FileStream.WriteComponent(pNoweGUI);

for i:=0 to ComponentCount - 1 do
if Components[i] is TSpeedButton then
if Copy(TSpeedButton(Components[i]).Name, 0, 5) &lt&gt 'Speed' then
FileStream.WriteComponent(TSpeedButton(Components[i]));

for i:=0 to ComponentCount - 1 do
  if Components[i] is TLabel then
  FileStream.WriteComponent(TLabel(Components[i]));

FileStream.Free; * zwolnij zmienna

end;

Jeśli plik KAT.INI próbuje otwierać dwóch użytkowników jednocześnie to dostaje error.
Jak się przed tym zabezpieczyć? a może w kodzie jest coś nie tak.
Z góry dziękuję.

0

Proponuję zajrzeć do Encyklopedii Delphi pod hasło TFileStream
Musisz otwierać z atrybutami współdzielenia (np. fmOpenRead or fmShereDenyNone)
--Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

1 użytkowników online, w tym zalogowanych: 0, gości: 1