![]() |
Sendtext-Problem ..
Moin Leutz
ich hab da mal n Problem mit Sendtext .. und zwar , wenn ich den TCPClient der Indy-komponenten nehme , dann als OnClick-Ereignis eines Buttons schreibe : procedure TForm1.SpeedButton1Click(Sender: TObject); begin tcpclient.Socket.Sendtext(memo1.Text); end; dann meint der (beim Compillieren) "undefinierter Bezeichner : Sendtext" was hab ich da falsch gemacht , oder heist der Befehl bei den Indys anders ??? THX 4 Help Bis denn CU |
Hi,
im Normalfall hilf da schon die Auto-Vervollständigung ... aber ich will ja mal nicht so sein :) Das was du suchst heist aller Warscheinlichkeit nach -> SendString <- :) MfG BungeeBug |
guter tipp ..funzt trotzdem net ..
da sagt er auch : Undefinierter Bezeichner 'SendString' und außerdem hab ich das(bei sendtext) mit der Autovervollständigung gemacht ... |
Hi!
Funktionieren andere Eigenschaften von TCPClient.Socket (z.B. tcpClient.Socket.Open;)??? ..oder bringt der compiler dann auch ne Fehlermeldung? Hst du bei den Uses: "IdTCPClient" stehen? MfG Steran |
Moin Leutz
ich hab in meinem Proggi noch diese befehle stehn : tcpclient.Host:=edit1.Text; tcpclient.Connect(); tcpclient.Disconnect; die funzen alle .. wenn ich SendText rauslasse , kann ich die Anwendung compilieren lassen und .. die 3 Befehle (Host;Connect;Disconnect) funzen alle prächtig nur eben dieser VERDAMMTE SendText-Bafehl net... wenn wer da weiterweis .. bitte posten .. bis denn cu |
weis da echt NIEMAND was das sein kann ???
oder heist der befehl bei dem TCPClient der INDY-Komponenten anders !?!??! THX 4 reply CU |
Moin Hanswurst,
der INDY TCPClient kennt die Eigenschaft Socket doch gar nicht... zumindest bei mir (ist, glaub' ich Indy 8), deshalb würde hier schon diese Eigenschaft angemeckert werden. Der "normale" ClientSocket hat diese Eigenschaft zwar, kennt aber auch SendText, so dass hier nicht gemeckert werden dürfte. Was für eine Komponente verwendest Du denn? |
Moin Leutz
ich hab mir mal die ganzen Threads durhchgelesen , die irgendwas mit SENDTEXT zu tun haben .. hab aber nix zu meinem problem gefunden .. @der,der vor mir was geschrieben hat: ich verwende den stinknormalen IdTCPClient bzw IdTCPServer der IndyKomponenten (unter Indy-Client bzw Indy-Server zu finden) und wie gesagt... was muss ich machen , damit Sendtext funzt ?? da der Compiller ,wenn ich schreibe : IdTCPClient1.socket.sendtext('son dreck') , sogar mit der Autovervollständigung ; "Undefinierter Bezeichner: "sendtext"" wenn ich schreibe : "IdTCPClient1.se" dann sagt mir die Autovervollständigung : SendCMD SendCMD SendBufferSize und SetSubComponent wenn ich schreibe : "IdTCPClient1.socket.s" meint die Autovervollständigung : Send(var ABuf:Ohne Typ;Alen:Integer):Integer; aber nix mit Sendtext .. Bitte Helft mir .. ich bin auch nur ein Mensch .. und die Lufttemperatur beträgt <30 THX |
Moin Hanswurst,
also so funzt das bei mir:
Delphi-Quellcode:
// Senden
procedure TForm1.Button1Click(Sender: TObject); begin idTCPClient1.Connect; if idTCPClient1.Connected then begin try idTCPCLient1.OpenWriteBuffer; try idTCPClient1.WriteLn(Edit1.Text); finally idTCPClient1.CloseWriteBuffer; end; finally idTCPClient1.Disconnect; end; end; end; // Empfang procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread); begin Edit2.Text := AThread.Connection.ReadLn; end; |
Danke für deinen Tipp ..
es funzt .. nur , wie kann ich dem Clienten (und nicht nur dem Server) sagen ,dass er die ganze Zeit bzw wenn er läuft/verbunden ist , auf Nachrichten aufpassen soll .. also wie der Server mit : procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread); begin Edit2.Text := AThread.Connection.ReadLn; end; da der Client kein OnExecute Ereignis besitzt und somit auch net mit dem AThread klar kommt .. ich hab in der Autoverfollständigung nachgeschaut .. aber nix gefunden .. und bei den Ereignissen des Clienten auch nix ähnliches (das gefuntz hat) gefunden .. da ja der Server auch zum Client labern muss/soll/braucht und nicht nur umgekehrt .. THX Bis denn UC |
Zitat:
|
Moin Hanswurst,
ich bin jetzt auch nicht gerade der Indy-Kenner, aber eine Idee dazu hätte ich dennoch: Wenn zwischen den beiden Programmen in beide Richtungen Daten ausgetauscht werden müssen/sollen, so müssen, wohl oder übel, beide über eine TidTCPServer als auch TidTCPClient Kompo verfügen. Was jetzt jeweils in wohin übertragen wird, und was das jeweilige Programm dann damit anfängt charakterisiert dann ob das Programm als Server oder Client anzusehen ist. Nicht die verwendete Komponente. Ich hab' die ganzen Socket Funktionen (auf denen die Indys wohl im wesentlichen basieren) jetzt nicht alle auswendig parat, aber mir wäre da auch keine gesonderte Trennung nach Client und Server bekannt. |
Moin Leutz
aber müssten dann net 2 Verbindungen aufgebaut werden ?? wenn ja , muss ich ja dann dem "nicht-Verbundenen-Server" die IP des anderen Servers sagen .. is ja net das Problem .. aber ich hab das Problem , dass mind einer von beiden Teilnehmern hinter nem ROuter is , ich also dem Nicht-Verbundenen-Server die IP ja net sagen kann .. ich kannse ihm zwar sagen , was aber nur eine Verbindung zum Router aufbauen würde , aber net zum anderen Teilnehmer , da der Router das Paket ja net direkt durchschleift , sondern die Pakete nur nach Anforderung...,aber net direkt zum anderen Teilnehmer .. Bis denn CU |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 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