Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   telnetclient mit synapse und separaten befehlen (https://www.delphipraxis.net/197164-telnetclient-mit-synapse-und-separaten-befehlen.html)

Reiter0303 20. Jul 2018 08:07

AW: telnetclient mit synapse und separaten befehlen
 
Ja möchte aber synapse benutzen...
Aber danke für die Antwort

Redeemer 20. Jul 2018 08:21

AW: telnetclient mit synapse und separaten befehlen
 
Hilft ihm auch nicht, weil er Variablen falsch verwendet. Was er jetzt macht, würde auch mit einem Boolean nicht funktionieren, weil er es am Ende der Methode wegwirft.

Wie das Problem gelöst wird, habe ich ja bereits geschrieben:
Zitat:

Hier muss man mit Instanzfeldern oder globalen Variablen arbeiten.
Wenn man nicht weiß, was eine (lokale) Variable ist und was man unter Scope (Gültigkeitsbereich) versteht, sollte man vielleicht erst mal dort ansetzen.

Reiter0303 20. Jul 2018 08:41

AW: telnetclient mit synapse und separaten befehlen
 
das wie es jetzt ist funktioniert es ja, aber viel zu langsam , das dauert über eine minute bis er den befehl ausgibt
vielleicht jannst mir an den beispiel mal helfen mit den variablen...wäre sehr nett... Habe nix gefunden in einem Beispiel wie ich das bei Telnet mit variablen vereinfache oder beschleunige


Code:
procedure TForm1.Button15Click(Sender: TObject);

var
  telnet: TTelnetsend;
begin
  memo6.Lines.Clear;
  telnet:= TTelnetsend.Create;
  try
    telnet.TargetHost:=ComboBox1.Text;
    telnet.Login;
    telnet.WaitFor('login:');
    telnet.Send(Edit3.Text+#$0d+#$0a);
    telnet.WaitFor('word:');
    telnet.Send(Edit4.Text+#$0d+#$0a);
    telnet.WaitFor('>');
    telnet.Send(Edit14.Text+#$0d+#$0a);
    telnet.WaitFor('>');
    Memo6.Lines.Text:=telnet.sessionlog;
  finally
  end;
end;
hab das telnetconect komplett rausgeschmissen

danke

TiGü 20. Jul 2018 08:58

AW: telnetclient mit synapse und separaten befehlen
 
Zitat:

Zitat von Reiter0303 (Beitrag 1408047)
das wie es jetzt ist funktioniert es ja, aber viel zu langsam , das dauert über eine minute bis er den befehl ausgibt
vielleicht jannst mir an den beispiel mal helfen mit den variablen...wäre sehr nett... Habe nix gefunden in einem Beispiel wie ich das bei Telnet mit variablen vereinfache oder beschleunige


Code:
procedure TForm1.Button15Click(Sender: TObject);

var
  telnet: TTelnetsend;
begin
  memo6.Lines.Clear;
  telnet:= TTelnetsend.Create;
  try
    telnet.TargetHost:=ComboBox1.Text;
    telnet.Login;
    telnet.WaitFor('login:');
    telnet.Send(Edit3.Text+#$0d+#$0a);
    telnet.WaitFor('word:');
    telnet.Send(Edit4.Text+#$0d+#$0a);
    telnet.WaitFor('>');
    telnet.Send(Edit14.Text+#$0d+#$0a);
    telnet.WaitFor('>');
    Memo6.Lines.Text:=telnet.sessionlog;
  finally
  end;
end;
hab das telnetconect komplett rausgeschmissen

danke

Delphi-Quellcode:
TForm1 = class(TForm)
...
private
  FTelnet: TTelnetsend;
public
...
end;

...

procedure TForm1.FormCreate(Sender: TObject);
begin
  FTelnet := TTelnetsend.Create;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  FTelnet.Free;
end;

procedure TForm1.Button15Click(Sender: TObject);
begin
  memo6.Lines.Clear;

  FTelnet.TargetHost:=ComboBox1.Text;
  FTelnet.Login;
  FTelnet.WaitFor('login:');
  FTelnet.Send(Edit3.Text+#$0d+#$0a);
  FTelnet.WaitFor('word:');
  FTelnet.Send(Edit4.Text+#$0d+#$0a);
  FTelnet.WaitFor('>');
  FTelnet.Send(Edit14.Text+#$0d+#$0a);
  FTelnet.WaitFor('>');
  Memo6.Lines.Text:=telnet.sessionlog;
end;

Redeemer 20. Jul 2018 09:08

AW: telnetclient mit synapse und separaten befehlen
 
So arbeitet man mit Instanzfeldern, ja. Mit zwei Fehlern:
- Du hast Button15Click zweimal definiert. Dasjenige mit dem Free müsste FormDestroy oder FormClose heißen.
- Der Login sollte glaube ich nicht in Button15Click. Aber dass muss der TE schon selbst machen.
Das hilft ihm gegen seine Wegwerfmentalität, aber nicht gegen das Problem, dass das sehr lange dauert. Keine Ahnung, ob hier im Forum schon mal Leute mit deiner Komponentensammlung gearbeitet haben, ich habe bisher nur mit den Indys gearbeitet und bin da sehr schnell von Telnet zu TCP gewechselt.

Reiter0303 20. Jul 2018 09:14

AW: telnetclient mit synapse und separaten befehlen
 
Danke für die Antworten,
Aber FormCreate kann ich nicht nehmen da das ja kein einzelner Telnet Client wird sondern in einem Programm integriert ist als eine Komponente
Kann ich das Telnet.free auch irgendwie ins Hauptprogramm auslagern? Weil solang wie man im Telnet was macht soll die Verbindung ja offen bleiben

Redeemer.. Danke schon mal für deine Hilfe mit der Telnet Verbindung Login , ich wollte das einfach halt auskapseln und immer wieder mit telnetconnect aufrufen, aber das das nicht geht und ich die Verbindung immer wieder schließe vorher hat mir sehr geholfen von dir
Danke

TiGü 20. Jul 2018 13:50

AW: telnetclient mit synapse und separaten befehlen
 
Zitat:

Zitat von Redeemer (Beitrag 1408054)
So arbeitet man mit Instanzfeldern, ja. Mit zwei Fehlern:
- Du hast Button15Click zweimal definiert. Dasjenige mit dem Free müsste FormDestroy oder FormClose heißen.

Der alte Copy'n'Paste-Halunke schlug wieder zu!

TiGü 20. Jul 2018 13:51

AW: telnetclient mit synapse und separaten befehlen
 
Zitat:

Zitat von Reiter0303 (Beitrag 1408056)
Danke für die Antworten,
Aber FormCreate kann ich nicht nehmen da das ja kein einzelner Telnet Client wird sondern in einem Programm integriert ist als eine Komponente

Wenn du das Telnet-Gelumpe auf Komponente auf eine Form oder Datenmodul gezogen hast, dann darfst erst recht N I C H T immer und immer wieder
Delphi-Quellcode:
telnet:= TTelnetsend.Create;
schreiben und die Instanz neu erzeugen.

Reiter0303 20. Jul 2018 14:40

AW: telnetclient mit synapse und separaten befehlen
 
also am besten einmal global z.b.?

TiGü 20. Jul 2018 15:40

AW: telnetclient mit synapse und separaten befehlen
 
Nein, es ist schon da.
Einen Button oder Edit-Feld instantisierst du ja auch nicht, wenn du es auf das Formular gezogen hast.


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

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