Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IdTCPClient ohne Form (https://www.delphipraxis.net/58334-idtcpclient-ohne-form.html)

toomuch 5. Dez 2005 19:21


IdTCPClient ohne Form
 
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]

DGL-luke 5. Dez 2005 19:44

Re: IdTCPClient ohne Form
 
Der Code ist zwar nicht formatiert, aber ich sehe auf den erstzen blick keinen fehler.... was passiert denn genau (nicht)?

toomuch 6. Dez 2005 14:28

Re: IdTCPClient ohne Form
 
Die Ausnahme "Unbekannter Softwarefehler" (0x0eedfade) ist in der Anwendung an der Stelle 0x77e9bbf3 aufgetreten.

Das sagt mir garnichts, hat jemand eine Idee was da falsch sein könnte?

Zacherl 6. Dez 2005 18:37

Re: IdTCPClient ohne Form
 
Ein paar Gründe:

:arrow: Zugriff auf eine nicht erzeugtes Objekt (AccessViolation)
:arrow: Der Port wird bereits benutzt.

Fehler im Code sehen ich auf Anheib keine.
Versuch mal den Port zu ändern.

Florian


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz