IdTelnet mit ConsoleApp
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:
ich habe auch versucht, wie online gelesen eine class zu erstellen:
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.
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. |
AW: IdTelnet mit ConsoleApp
.. 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 |
AW: IdTelnet mit ConsoleApp
Wie soll das kompilieren?
Delphi-Quellcode:
Versuchs mal so:
class mytelnet
public procedure read(buffer: string); end; ... IdTelnet1.OnDataAvailable := mytelnet.dataavail; // wrong type
Delphi-Quellcode:
Doku:
TMyTelnet = class
public procedure DataAvail(Sender: TIdTelnet; const Buffer: String); end; ... var mytelnet: TMyTelnet; begin mytelnet := TMyTelnet.Create; IdTelnet1.OnDataAvailable := mytelnet.dataavail; http://www.e-iter.net/Knowledge/Indy9/007834.html#0004 http://www.e-iter.net/Knowledge/Indy9/007838.html |
AW: IdTelnet mit ConsoleApp
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:17 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