AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TIdTcpClient von Indy 9: onWork-Ereignisse ???
Thema durchsuchen
Ansicht
Themen-Optionen

TIdTcpClient von Indy 9: onWork-Ereignisse ???

Ein Thema von master_mu · begonnen am 9. Jul 2003 · letzter Beitrag vom 10. Jul 2003
Antwort Antwort
master_mu

Registriert seit: 6. Mai 2003
7 Beiträge
 
#1

TIdTcpClient von Indy 9: onWork-Ereignisse ???

  Alt 9. Jul 2003, 21:40
Hallo,
ich habe ein Programm geschrieben, dass Dateien übers Netz versendet und empfängt. Dazu verwende ich TIdTcpServer und TIdTcpClient von den Indy 9 Komponenten. Das Programm fungiert sowohl als Client als auch als Server. Ich möchte jetzt zusätzlich eine Status-Anzeige in das Programm einbauen, um den Downloadfortschritt anzuzeigen. Dazu benutz ich das onWorkBegin und onWork - Ereignis der Client-Komponente. Leider wird die aus irgendwelchen Gründen nicht ausgeführt. Vielleicht könnt ihr mir helfen. Beim anfordern einer Datei mache ich folgendes im onCommand-Event des Server-Command-Handlers:
Delphi-Quellcode:
procedure TForm1.onCommand(ASender: TIdCommand);
var
 fileid : TFileStream;
begin
 fileid := TFileStream.create(asender.params.strings[0], fmOpenRead);
 with asender.thread.connection do
  begin
   openwritebuffer;
   writestream(fileid);
   closewritebuffer;
   disconnect;
  end;
 freeandnil(fileid);
end;
Im onConnect-Event des Clients mache ich folgendes:
Delphi-Quellcode:
procedure TForm1.onConnect(Sender : TObject);
var
 fileid : TFileStream;
begin
 fileid := TFileStream.create('C:\irgendwas.dat', fmCreate);
 with TIdTcpClient(Sender) do
  begin
   sendCmd('getFile|d:\irgendwo.dat')
   while connected do
    readstream(fileid, -1, true);
  end;
 freeandnil(fileid);
end;
Die Übertragung funzt wunderbar und die Datei kommt komplett an. Nur leider wird onWork und onWorkBegin nicht ausgelöst. Woran könnte das liegen? Könnte es deswegen sein, weil ich bisher nur über das loopback-device localhost getestet habe und somit gar keine richtige TCP-Verbindung aufgebaut wird? Kann das im Moment leider nicht in einem richtigen Netz testen, wäre für antworten aber dankbar. Denn ich kann mir nicht vorstellen, dass es wirklich an localhost liegt, oder weil server und client in einem programm laufen.

Dank schon mal im Voraus
MU
  Mit Zitat antworten Zitat
master_mu

Registriert seit: 6. Mai 2003
7 Beiträge
 
#2

Re: TIdTcpClient von Indy 9: onWork-Ereignisse ???

  Alt 10. Jul 2003, 22:21
Hey,
O.K. war mein eigener blöder Fehler. Ich wollte den Fortschritt in einer Progressbar sichtbar machen, von der man nur die Ränder, nicht aber den Fortschritt selbst gesehen hat. Manchmal sieht man den Wald vor lauter Bäumen nicht.
Als denn
MU
  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 23:44 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