Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Formloses SocketProgramm (https://www.delphipraxis.net/105845-formloses-socketprogramm.html)

napsterxx 31. Dez 2007 15:44

Re: Formloses SocketProgramm
 
Dann wird mein Programm aber wieder richtig groß

DeddyH 31. Dez 2007 15:46

Re: Formloses SocketProgramm
 
Schau mal nach Delay.

napsterxx 31. Dez 2007 15:50

Re: Formloses SocketProgramm
 
Wenn ich Delay verwende muss ich Forms einbinden und dann wird das auch recht groß.
Wenn ich einen Timer erstelle also Create(nil) lege ich dann das interval fest, aber wie kann ich OnTimer festlegen?

[Fehler] Client.dpr(23): E2009 Inkompatible Typen: 'Methodenzeiger und reguläre Prozedur'

Delphi-Quellcode:
program Client;

uses
  ScktComp, windows, SysUtils, ExtCtrls;

var
  Connected : Boolean = False;
  ClientSocket : TClientSocket;
  ConnectTimer : TTimer;

{$R *.res}
procedure ConnectTimerOnTimer(Sender: TObject);
begin

end;

begin

  ClientSocket := TClientSocket.Create(nil);
  ConnectTimer := TTimer.Create(nil);
  ConnectTimer.Interval := 10000;

  ConnectTimer.OnTimer := ConnectTimerOnTimer;
....

mkinzler 31. Dez 2007 16:02

Re: Formloses SocketProgramm
 
ConnectTimerOnTimer muss Teil einer Klasse sein.

napsterxx 31. Dez 2007 16:05

Re: Formloses SocketProgramm
 
Also muss der Timer dann die Klasse sein?

Delphi-Quellcode:
  type
  Timer = class(TTimer)
    procedure ConnectTimerOnTimer(Sender: TObject);


  end;

var
  Connected : Boolean = False;
  ClientSocket : TClientSocket;
  ConnectTimer : Timer;

{$R *.res}


procedure Timer.ConnectTimerOnTimer(Sender: TObject);
begin

end;

begin

  ClientSocket := TClientSocket.Create(nil);
  ConnectTimer := Timer.Create(nil);
  ConnectTimer.Interval := 10000;

  ConnectTimer.OnTimer := ConnectTimerOnTimer;

[Fehler] Client.dpr(32): E2003 Undefinierter Bezeichner: 'ConnectTimerOnTimer'

DeddyH 31. Dez 2007 16:06

Re: Formloses SocketProgramm
 
Nein, erstelle Dir eine Dummy-Klasse, die einen Timer enthält.

[edit] Obwohl das alles Blödsinn ist, einen Konsolenanwendung ist nun mal nicht ereignisgesteuert. [/edit]

sirius 1. Jan 2008 16:35

Re: Formloses SocketProgramm
 
So funktioniert es :
Delphi-Quellcode:
program Project1;

uses scktcomp, windows, messages;

var clientsocket:Tclientsocket;
    msg:Tmsg;

begin
  clientsocket:=Tclientsocket.Create(nil);
  try

    clientsocket.Host:='127.0.0.1';
    clientsocket.Port:=21000;
    clientsocket.Open;

    while not clientsocket.active do
    begin
      if not getmessage(msg,0,0,0) then exit;
      dispatchmessage(msg);
    end;

    while clientsocket.active do
    begin
      if not getmessage(msg,0,0,0) then exit;
      dispatchmessage(msg);
    end;

  finally
    clientsocket.free;
  end;
end.
Aber um das sinnvoll weiter zu benutzen solltest du schonmal mit Klassen anfangen.

napsterxx 1. Jan 2008 17:45

Re: Formloses SocketProgramm
 
Oki werde ich machen allen THX und einen guten Rutsch naja hoffe ihr hattet einen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:10 Uhr.
Seite 2 von 2     12   

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