Einzelnen Beitrag anzeigen

Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#12

Re: Datei an Client schicken (IdTCP)

  Alt 30. Aug 2005, 12:36
So ich hab des verschicken mit die Datein so umgeschrieben, dass ich diese vom Server zum Client schicken kann. Jedoch wenn die die Datein größer als ca. 24 MB werden bekomme ich folgende Fehlermeldung : Der Prozess kann nicht auf die Datei zugreifen , da sie von einem anderen Prozess verwendet wird!!.

Hier mal mein umgeschriebener Source Code:

Client:

Delphi-Quellcode:
procedure DateiSendeButtonClick;

var FStream : TFileStream;
    SizeOfIncomingStream : Integer;
    IDS : TidStreamVCL;

begin

  { Die Streams initialisieren - Beim IDS wird FStream gleich eingelesen }
  FStream := TFileStream.Create(Pfad, fmCreate);
  IDS := TidStreamVCL.Create(FStream);

  { Senden }
 with frmServer.IdTCPClient1 do
  begin
      SizeOfIncomingStream := Socket.ReadInteger;;
      Socket.ReadStream(IDS, SizeOfIncomingStream);
  end;

  IDS.VCLStream.Position := 0;

  { Nicht vergessen ;-) }
  FStream.Free;
  IDS.Free;
end;
Und für den Server:

Delphi-Quellcode:
procedure KopierenToClient (AContext: TIdContext;Pfad : String);
var FSTream : TFileStream;
    SizeOfIncomingStream : Integer;
    IDS : TidStreamVCL;

begin

  FStream := TFileStream.Create(Pfad,fmOpenRead or fmShareDenyWrite)
  IDS := TidStreamVCL.Create(FStream);

  { Empfangen }
  with AContext.Connection do
  begin
      Socket.Write(IDS, 0, true);

  end;




  FStream.Free;
  IDS.Free;
end;
Könnte mir jetzt vielleicht wer sagen wo, dass Problem liegt?????

Mfg st0rm
  Mit Zitat antworten Zitat