Einzelnen Beitrag anzeigen

Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#7

Re: Problem mit TFileStream und Indy TidStreamVCL

  Alt 31. Jul 2005, 21:48
Danke erst mal!

So wie im Code-Beispiel funktioniert es nicht. Aber das Beispiel im Anhang werde ich mir mal ansehen. Vielleicht liegt es daran, dass ich FStream gleich als TFileStream und nicht als TStream definiere.

Hier noch mal die neueste Version des Codes:
Delphi-Quellcode:
// Client

procedure TSendeForm.DateiSenden;

var FStream : TFileStream;
    IDS : TidStreamVCL;

begin
  TCPSender.Host := Host;

  FStream := TFileStream.Create(DateiName, fmOpenRead);
  IDS := TidStreamVCL.Create(FStream);

  with TCPSender do
  begin
    Connect;
    try
      Socket.Write(IDS, 0, true);
    finally
      Disconnect;
    end;
  end;

  FStream.Free;
  IDS.Free;
end;


// Server

procedure TEmpfangsForm.TCPReceiverExecute(AContext: TIdContext);

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

begin
  FStream := TFileStream.Create(DateiName, fmCreate);
  IDS := TidStreamVCL.Create(FStream);

  with AContext.connection do
  begin
    try
      SizeOfIncomingStream := Socket.ReadInteger;
      Socket.ReadStream(IDS, SizeOfIncomingStream);
    finally
      Disconnect;
    end;
  end;

  try
     FStream.CopyFrom(IDS.VCLStream, IDS.VCLStream.Size);
  except
     // Nichts
  end;
     
  FStream.Free;
  IDS.Free;

  // (Weitere Behandlung der Datei)
end;
Mal sehen...
  Mit Zitat antworten Zitat