![]() |
Consolen Server Problem
Hier mal der Code:
Delphi-Quellcode:
nun meine frage,
program Project2;
{$APPTYPE CONSOLE} uses SysUtils, ScktComp; type test=class public //socket: Tserversocket; procedure socketClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure socketClientError(Sender: TObject; Socket: TCustomWinSocket); procedure go; procedure SocketClientConnect; end; var socket: Tserversocket; e1,cmd: string; test1: test; procedure test.socketClientError(Sender: TObject; Socket: TCustomWinSocket); begin writeLn('test'); end; procedure test.socketClientRead(Sender: TObject; Socket: TCustomWinSocket); var cmd: string; begin writeLn('GEHT DOCH'); cmd:=socket.ReceiveText; writeLn(cmd); //socket.free; end; procedure test.SocketClientConnect; begin writeLn('TEST'); end; procedure test.go; begin socket:=tserversocket.Create(nil); writeLn('PleaseEnterPort'); readln(e1); // try //socket.Active:=false; socket.Port:=strtoint(e1); socket.ServerType:=stNonBlocking; socket.OnClientRead := socketClientRead; socket.OnClientConnect := SocketClientError; socket.OnClientDisconnect := SocketClientError; // socket.Open; socket.Active:=true; // except // socket.Free; // end; // readln; end; begin { TODO -oUser -cConsole Main : Hier Code einfügen } //readln; //test1.Create; test1.go; readln; test1.Destroy; end. warum empfange ich nichts ?? bzw. bekomme nicht mit wenn jemand connected ect. thx für eure hilfe |
Re: Consolen Server Problem
Moin!
Vielleicht weil du die Klasse Test nirgendwo instanziierst? Wenn du das nicht machen willst, dann definiere die Proceduren für die Events und die anderen als Class Procedure. Wenn nicht musst du im anderen Falle vor dem test1.go Aufruf noch ein
Delphi-Quellcode:
machen.
test1 := test.Create;
MfG Muetze1 |
Re: Consolen Server Problem
hab ich gemacht,
geht aber immer noch nicht, was nun ? |
Re: Consolen Server Problem
//test1.Create;
^^ Ich hoffe du hast die Klasse nicht so erzeugt!!!! test1:=test.create; ^^ So sollte das richtig sein! test1.Destroy; ^^ Auch sowas macht man nicht! test1.free; ^^ "Besser" |
Re: Consolen Server Problem
hab ich, aba es geht noch nicht, hier nochmals der aktuelle code:
Delphi-Quellcode:
program Project2;
{$APPTYPE CONSOLE} uses SysUtils, ScktComp; type test=class public //socket: Tserversocket; procedure socketClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure socketClientError(Sender: TObject; Socket: TCustomWinSocket); procedure go; procedure SocketClientConnect; end; var socket: Tserversocket; e1,cmd: string; test1: test; procedure test.socketClientError(Sender: TObject; Socket: TCustomWinSocket); begin writeLn('test'); end; procedure test.socketClientRead(Sender: TObject; Socket: TCustomWinSocket); var cmd: string; begin writeLn('GEHT DOCH'); cmd:=socket.ReceiveText; writeLn(cmd); //socket.free; end; procedure test.SocketClientConnect; begin writeLn('TEST'); end; procedure test.go; begin socket:=tserversocket.Create(nil); writeLn('PleaseEnterPort'); readln(e1); // try //socket.Active:=false; socket.Port:=strtoint(e1); socket.ServerType:=stNonBlocking; socket.OnClientRead := socketClientRead; socket.OnClientConnect := SocketClientError; socket.OnClientDisconnect := SocketClientError; // socket.Open; socket.Active:=true; // except // socket.Free; // end; // readln; end; begin { TODO -oUser -cConsole Main : Hier Code einfügen } //readln; //test1.Create; test1:=test.Create; test1.go; readln; test1.free; end. |
Re: Consolen Server Problem
Moin!
Er steht die ganze Zeit im ReadLn() und wartet auf Eingabe - daher: wie sollte da denn noch der TServerSocket zum Zuge kommen können ohne ein wenig Rechenzeit zu bekommen? Vor allem hast du eine Konsolenanwendung und daher hast du keinen VCL Thread der immer wieder die Steuerung bekommt bzw. auch mal den TServerSocket Thread ranlässt. Daher hast du eigentlich schlechte Chancen hier überhaupt mal einen CallBack zu erhaschen. So sehe ich das... ... was meinen die anderen geneigten Leser dazu? MfG Muetze1 /EDIT: Rechtschreibfehler beseitigt |
Re: Consolen Server Problem
@Muetze: Genau so ist es.
|
Re: Consolen Server Problem
ok, gibts denn auch eine lösung für das problem ? ;)
thx |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:42 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