Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   FreePascal Telnetserver in Lazarus (https://www.delphipraxis.net/170387-telnetserver-lazarus.html)

DelTurbo 14. Sep 2012 16:01

Telnetserver in Lazarus
 
Hi,
erstelle ich ein Konsolenprogramm dann kommt folgender fehler, mit dem ich leider nix anfangen kann. Deswegen hänge ich mal den Quelltext mit dran.

exception at 0806D30F:
List index (0) out of bounds.

Delphi-Quellcode:
  { add your program here }
  IDTelnetServer1:=TIDTelnetServer.Create;
  SocketHandle:=TIdSocketHandles.Create(IDTelnetServer1);
  IDTelnetServer1.Bindings.Add;
  IDTelnetServer1.Bindings:=SocketHandle;

  IDTelnetServer1.Bindings.Items[0].ClientPortMax:=0;
  IDTelnetServer1.Bindings.Items[0].ClientPortMin:=0;
  IDTelnetServer1.Bindings.Items[0].IP:='127.0.0.1';
  IDTelnetServer1.Bindings.Items[0].IPVersion:=Id_IPv4;
  IDTelnetServer1.Bindings.Items[0].Port:=23;
  IDTelnetServer1.Bindings:=SocketHandle;
  IDTelnetServer1.Active:=True;
  sleep(10000);
  IDTelnetServer1.Active:=False;
  IDTelnetServer1.Free;
  // stop program loop
  Terminate;
Ich bin für jede hilfe dankbar.

Luckie 14. Sep 2012 16:22

AW: Telnetserver in Lazarus
 
Hast du denn eine Items-Array überhaupt erzeugt? Wenn nicht, gibt es kein nulltes Element.

mjustin 14. Sep 2012 16:33

AW: Telnetserver in Lazarus
 
Zitat:

Zitat von Luckie (Beitrag 1182923)
Hast du denn eine Items-Array überhaupt erzeugt? Wenn nicht, gibt es kein nulltes Element.

In der Tat :)

Ganz ohne SocketHandle geht es (Indy 10.5.9, Lazarus 1.0):

Delphi-Quellcode:
program project1;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes
  { you can add units after this },
  IdTelnetServer, IdSocketHandle, IdGlobal;

var
IDTelnetServer1: TIDTelnetServer;
SocketHandle: TIdSocketHandles;

begin
    IDTelnetServer1:=TIDTelnetServer.Create;
    // SocketHandle:=TIdSocketHandles.Create(IDTelnetServer1);
    IDTelnetServer1.Bindings.Add;
    // IDTelnetServer1.Bindings:=SocketHandle;

    IDTelnetServer1.Bindings.Items[0].ClientPortMax:=0;
    IDTelnetServer1.Bindings.Items[0].ClientPortMin:=0;
    IDTelnetServer1.Bindings.Items[0].IP:='127.0.0.1';
    IDTelnetServer1.Bindings.Items[0].IPVersion:=Id_IPv4;
    IDTelnetServer1.Bindings.Items[0].Port:=23;
    // IDTelnetServer1.Bindings:=SocketHandle;

    IDTelnetServer1.Active:=True;

    ReadLn;

    IDTelnetServer1.Active:=False;
    IDTelnetServer1.Free;

end.

DelTurbo 14. Sep 2012 19:06

AW: Telnetserver in Lazarus
 
Vielen dank. Klappt wunderbar.... :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 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