AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdTelnet mit ConsoleApp
Thema durchsuchen
Ansicht
Themen-Optionen

IdTelnet mit ConsoleApp

Ein Thema von myicq · begonnen am 13. Jun 2018 · letzter Beitrag vom 13. Jun 2018
Antwort Antwort
myicq

Registriert seit: 5. Jan 2016
70 Beiträge
 
Delphi 6 Professional
 
#1

IdTelnet mit ConsoleApp

  Alt 13. Jun 2018, 00:17
Hallo alle,

ich möchte gern under eine Console App Daten aus eine Scanner auslesen (industrieller 2D scanner, nicht office-Pagescanner.) Scanner ist Host, ich verbinde mit Telnet.

Geht unter test mit VCL ohne issues.

Problem ist: wie mache ich eine Event-Procedure für "OnDataAvailable" in Console-App ?

Mein Versuch soweit:

Delphi-Quellcode:
program project_console_scanner;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  // ----------- telnet stuff
  IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdTelnet;


var
  IdTelnet1 : TIdTelnet;

{-- read the scanner data --}
procedure dataavail(Buffer: String);
...

{--- main program ---}
begin
   idtelnet1 := tIDTelnet.create;

   IdTelnet1.OnDataAvailable := dataavail; // <<<< geht nicht. "Incompatible types: 'method pointer and regular procedure' "

end.
ich habe auch versucht, wie online gelesen eine class zu erstellen:
Delphi-Quellcode:
class mytelnet
public
   procedure read(buffer: string);
end;

...
IdTelnet1.OnDataAvailable := mytelnet.dataavail; // wrong type

ist das überhaupt möglich ? Ich übersehe bestimmt irgendwas.

Danke.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: IdTelnet mit ConsoleApp

  Alt 13. Jun 2018, 08:50
.. the procedure dataavail needs to be part (a method) of a class.

The signature of the event is different then your dataavail procedure:
http://www.e-iter.net/Knowledge/Indy9/007838.html

Best regards
Klaus
Klaus

Geändert von Klaus01 (13. Jun 2018 um 08:54 Uhr)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: IdTelnet mit ConsoleApp

  Alt 13. Jun 2018, 09:08
Wie soll das kompilieren?

Delphi-Quellcode:
class mytelnet
public
   procedure read(buffer: string);
end;

...
IdTelnet1.OnDataAvailable := mytelnet.dataavail; // wrong type
Versuchs mal so:

Delphi-Quellcode:
TMyTelnet = class
public
   procedure DataAvail(Sender: TIdTelnet; const Buffer: String);
end;

...
var
  mytelnet: TMyTelnet;
begin
  mytelnet := TMyTelnet.Create;
  IdTelnet1.OnDataAvailable := mytelnet.dataavail;
Doku:
http://www.e-iter.net/Knowledge/Indy9/007834.html#0004
http://www.e-iter.net/Knowledge/Indy9/007838.html
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: IdTelnet mit ConsoleApp

  Alt 13. Jun 2018, 10:31
Arbeitet Indy nicht viel mit Messages?

In der VCL behandelt das die VCL, und in der Console mußt du dann eben regelmäßig die anfallenden Windows-Messages abfragen und verarbeiten.
Ebenso Dinge wie z.B. Synchronize und Queue bei den Threads würde das betreffen.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz