![]() |
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: ![]() 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; ![]() ![]() |
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 08:24 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