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]