AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Indy Datentransfer

Ein Thema von SeEk0rN · begonnen am 8. Dez 2003 · letzter Beitrag vom 10. Dez 2003
Antwort Antwort
SeEk0rN

Registriert seit: 21. Sep 2003
20 Beiträge
 
Delphi 7 Professional
 
#1

Indy Datentransfer

  Alt 8. Dez 2003, 16:16
Nunja, da es ja nun Probleme mit den normalen Sockets gab, bin ich auf Indy umgestiegen.


Ich benutze den Code: http://www.delphipraxis.net/internal...ct.php?t=10179


Allerdings wollte ich nun auch ne Progressbar einbauen in OnWork des Clients, aber es wird nicht ausgeführt? Jemand ne Idee wieso oder wie ich anders ne Art Status einbau?
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Indy Datentransfer

  Alt 10. Dez 2003, 00:31
Hi,

erstmal muss ich zu dem oben genanntem Code folgenden Hinweis geben :

!!! Der funktioniert nur bei Daten bis ca. 80 MB, sonst ist der WriteBuffer zu klein und er kann auch keinen Buffer mehr allocieren !!!
!!! Aber ca. 50 MB wird das schreiben in den Buffer schon sehr langsam !!!!

Deshalb empfehle ich jedem der größere Daten übertragen will, die Daten in kleinere Pakete aufzuteilen.
Ich persönlich verwende 20 KB Pakete und kann dann auch im Server eine schöne Progressbar bauen.

Beim Client sollte das OnWork Ereignis eintreten !!!!!!!!!!!!!!!!

Gruß Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Benutzerbild von edi-design
edi-design

Registriert seit: 10. Dez 2003
Ort: Niesky
42 Beiträge
 
Delphi 7 Personal
 
#3

Re: Indy Datentransfer

  Alt 10. Dez 2003, 16:56
hi leutz

hat mittlerweile jemand eine lösung für das prob mit der progressbar gefunden ich rkeigs leider auch net hin *schäm*
hat jemand zufällig nen code??

cu andré
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Indy Datentransfer

  Alt 10. Dez 2003, 17:03
Hi,

poste mal Deinen Sourcecode vom Client !!

Einmal den Teil des Senden und Dein OnWork Ereignis !!

Wie gesagt ich habe das mit ner Progressbar am laufen, egal welchen Weg !!

Gruß Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Benutzerbild von edi-design
edi-design

Registriert seit: 10. Dez 2003
Ort: Niesky
42 Beiträge
 
Delphi 7 Personal
 
#5

Re: Indy Datentransfer

  Alt 10. Dez 2003, 20:07
Delphi-Quellcode:
procedure Tfile_send.TCPClientWork(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
progress.Position := AWorkCount;
l_out.Caption := inttostr(AWorkCount);
end;

procedure Tfile_send.TCPClientWorkBegin(Sender: TObject;
  AWorkMode: TWorkMode; const AWorkCountMax: Integer);
begin
progress.Max := AWorkCountMax;
//l_out.Caption := inttostr(AworkCountMax);
end;

procedure Tfile_send.TCPClientWorkEnd(Sender: TObject;
  AWorkMode: TWorkMode);
begin
//progress.Position := 0;
end;
die onwork/begin/end ereignisse

und mein client:

Delphi-Quellcode:
procedure Tfile_send.pb_sendClick(Sender: TObject);
var
fs: tfilestream;
begin

  TCPClient.Host := e_host.Text;
  TCPClient.Port := strtoint(e_port.Text);

  if not Open.Execute then exit; //erstmal besorgt man sich den Pfad der Datei, z.B. mit dem Standard Dialog TOpenDialog
  with TCPClient do
  begin
    fs := TFileStream.Create(Open.FileName, fmOpenRead or fmShareDenyWrite); //Datei in FileStream einlesen
    Connect; //und Verbindung herstellen
    try
      OpenWriteBuffer; //stellt sicher, dass alle Daten versendet werden
      try
        WriteLn(Open.FileName);
        WriteStream(fs, true, true, 0); {das 2. true ist wichtig!, da es bewirkt, dass die Größe des Streams mittels WriteInteger zuerst verschickt wird}
        CloseWriteBuffer;
      except
        CancelWriteBuffer;
        raise;
      end;
    finally
      Disconnect;
      fs.Free;
    end;
  end;
ich hoffe du kannst mir helfen

cu andré
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:56 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