Einzelnen Beitrag anzeigen

the_seed

Registriert seit: 31. Dez 2003
213 Beiträge
 
#1

[Problem] indy - filestream

  Alt 19. Jun 2004, 11:11
howdy....

ich benutze :
Code:
für den clienten...
var
fs: TFileStream;
dat:tstringlist;
path:string;
begin
try
dat:=TStringlist.create;
dat.add(memo1.Text);
dat.savetofile('c:\rc.txt');
idtcpclient1.writeln('file');
idtcpclient1.writeln(edit3.text);
except
panel1.Caption:='Übertragungsfehler !';
end;
with IdTCPClient1 do
begin
fs := TFileStream.Create('c:\rc.txt', fmOpenRead or fmShareDenyWrite); //Datei in FileStream einlesen
try
try
OpenWriteBuffer;
WriteStream(fs, true, true, 0);
CloseWriteBuffer;
except
CancelWriteBuffer;
raise;
end;
finally
fs.Free;

end;
end;

--------------
für den server:
var
fs: TFileStream;
SizeOfIncomingStream: integer;
a,b,c:string;
begin

if a='file' then begin
b:=athread.connection.readln;
fs := TFileStream.Create(b, fmCreate or fmShareExclusive);
with AThread.Connection do
try
SizeOfIncomingStream := ReadInteger; //Größe des Streams empfangen
ReadStream(fs, SizeOfIncomingStream); //und übergeben

finally
fs.Free;
end;
end;
nur funktioniert das nicht richtig... sobald das file erstellt ist, kann man manuell ( explorer) nicht darauf zugreifen, und es wird eine grösse von <1gb für zb. eine txt-file angezeitgt?
kann mir jmd helfen das problem zu lösen???
  Mit Zitat antworten Zitat