AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Neuen Beitrag zur Code-Library hinzufügen Über Indy versandte Dateien lassen sich nicht öffnen
Thema durchsuchen
Ansicht
Themen-Optionen

Über Indy versandte Dateien lassen sich nicht öffnen

Ein Thema von Benni0811 · begonnen am 30. Mär 2017 · letzter Beitrag vom 30. Mär 2017
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#11

AW: Über Indy versandte Dateien lassen sich nicht öffnen

  Alt 30. Mär 2017, 12:43
Hallöle...
[]
Das Delphi Berlin weigert sich das with zu benutzen...

http://stackoverflow.com/questions/5...a-bad-practice ...Antwort 1.
Zitat:
...but the code is now broken.
[/]
  Mit Zitat antworten Zitat
Benni0811

Registriert seit: 26. Sep 2016
25 Beiträge
 
Delphi 10.1 Berlin Starter
 
#12

AW: Über Indy versandte Dateien lassen sich nicht öffnen

  Alt 30. Mär 2017, 12:58
Mein Projekt:
Delphi-Quellcode:
unit Server;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdCustomTCPServer, IdStreamvcl, IdTCPServer, idcontext;

type
  TForm1 = class(TForm)
    IdTCPServer1: TIdTCPServer;
    procedure FormCreate(Sender: TObject);
    procedure IdTCPServer1Execute(AContext: TIdContext);
  private

  public

  end;

const
  filename='h:\Test.bmp';

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
    IdTCPServer1.Active:=true;
end;

procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
Var
  FStream: TFileStream;
begin
    FStream := TFileStream.Create(filename, fmCreate);
    FStream.Position := 0;
    AContext.Connection.Socket.ReadStream(fstream);
    AContext.Connection.Disconnect;
    FStream.Destroy;
end;

end.
Delphi-Quellcode:
unit Client;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdCustomTCPServer, IdTCPServer,
  StdCtrls, IdTCPConnection, IdTCPClient;

type
  TForm2 = class(TForm)
    Button1: TButton;
    IdTCPClient1: TIdTCPClient;
    procedure Button1Click(Sender: TObject);
  private
  
  public

  end;
  
const
  filename='c:\test.bmp';

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
Var FStream:TFileStream;
begin
    FStream := TFileStream.Create(filename, fmOpenRead);
    IdTcpClient1.Connect;
    IdTcpClient1.Socket.Write(FStream);
    IdTcpClient1.Disconnect;
    FStream.Destroy;
end;

end.
Funktioniert auch ohne with nicht
  Mit Zitat antworten Zitat
ISurf

Registriert seit: 1. Mär 2016
6 Beiträge
 
#13

AW: Über Indy versandte Dateien lassen sich nicht öffnen

  Alt 30. Mär 2017, 13:41
Hallo,
beim Versenden fehlt das Setzen des Parameters AWriteByteCount auf True:

IdTcpClient1.Socket.Write(FStream, 0, true); Damit sollte es dann funktionieren.
  Mit Zitat antworten Zitat
Benni0811

Registriert seit: 26. Sep 2016
25 Beiträge
 
Delphi 10.1 Berlin Starter
 
#14

AW: Über Indy versandte Dateien lassen sich nicht öffnen

  Alt 30. Mär 2017, 13:54
Funktioniert perfekt, Danke!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz