Thema: Delphi IdTCPClient ohne Form

Einzelnen Beitrag anzeigen

toomuch

Registriert seit: 11. Sep 2005
2 Beiträge
 
#1

IdTCPClient ohne Form

  Alt 5. Dez 2005, 20:21
Hi,
ich habe ein einfaches Client - Server Programm geschrieben mit Indy um es besser zu verstehen. Jetzt wollte ich das ganze ohne eine graphische Oberfläche machen, da diese mir eigentlich nur im Weg ist, und wenn ich später mal ein Serverprogramm schreiben würde, sollte es schließlich auch keine Form haben.
Eine kleine Hilfe oder ein Link zu Informationen würde mir völlig ausreichen , weil ich habe schon länger bei google und anderen Delphiforen gesucht.
Als ich das Programm mit Form geschrieben hatte, habe ich diese while true Endloschleife in das OnConnect Ereigniss gepackt und es hatte alles funktioniert. Wenn ich richtig glaube, gibt es aber keine Ereignisse ohne Form und somit musste ich etwas anderes machen.
Ich denke mein Fehler liegt daran, dass ich irgendetwas nicht oder falsch Initialisiere. Vielleicht irgendetwas, was zuvor die Form(also die Delphi IDE) für mich übernommen hatte?
also ich komm echt nicht drauf...help pls
achso, und ich habe es unter Delphi 7 mit Indy 9 versucht.

Hier mein Code:

Delphi-Quellcode:
program Project1;

uses
  Windows, SysUtils, IdBaseComponent,
  IdComponent, IdTCPConnection, IdTCPClient, Variants, Controls,
  StdCtrls, IdAntiFreezeBase, IdAntiFreeze;
  
type
  TClient = class(TObject)
    procedure client;

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
Client1 : TClient;
IdTCPClient1: TIdTCPClient;
IdAntiFreeze1: TIdAntiFreeze;


procedure TClient.client;
var
command : string;
begin
IdTCPClient1.OpenWriteBuffer;
IdTCPClient1.Host := '127.0.0.1';
IdTCPClient1.Port := 5000;



    if not IdTCPClient1.Connected then
    try
    IdTCPClient1.Connect(10000);
    except;
    end;



  while true do begin

    command := IdTCPClient1.ReadLn ;
    if sametext(command, 'quit') then IdTCPClient1.Disconnect;
    if sametext(command, 'hello') then IdTCPClient1.WriteLn('hello back');

  end;

end;

begin
Client1 := TClient.Create;
IdAntiFreeze1 := TIdAntiFreeze.Create(nil);
IdTCPClient1 := TIdTCPClient.Create(nil);
Client1.client;
end.
[edit=sakura] [delphi]-Tags. Mfg, sakura[/edit]
  Mit Zitat antworten Zitat