Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Fehler bei Funktionszuweisung (https://www.delphipraxis.net/105358-fehler-bei-funktionszuweisung.html)

Desmulator 20. Dez 2007 17:17

Re: Fehler bei Funktionszuweisung
 
leider nein...

so schauts aus:
Delphi-Quellcode:
program Neon;

uses
  Forms, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdTCPServer,
  Classes, Controls;

{$R *.res}

procedure ServerExec(AThread: TIdPeerThread);
var
  Command: String;
begin
  //Der Server wurde aufgerufen
  while AThread.Connection.Connected do begin
    //Command einlesen
    Command := AThread.Connection.CurrentReadBuffer;

  end;
end;

Type
     THelper = class
     public
       class procedure ServerExec(AThread: TIdPeerThread);
     end;


var
  TcpClient: TIdTcpClient;
  TcpServer: TIdTcpServer;
  Buffer: String;

begin

  //StartUp, anschalten der Tcp's
  TcpClient := TIdTcpClient.Create(Application.Owner); //Client erstellen
  TcpClient.Port := 18754; //Port festlegen
  TcpServer := TIdTcpServer.Create(Application.Owner); //Server erstellen
  TcpServer.DefaultPort := 18754; //Port festlegen
  TcpServer.Active := true; //Server starten

  //Events setzen
  TcpServer.OnExecute := THelper.ServerExec;

  //Anlaufen der DauerSchleife
  while not Application.Terminated do begin


  end;
end.
Ich weiß jetzz net ob das wichtig ist, aber ich arbeite nur mit dem program und ohne unit...

Ghostwalker 20. Dez 2007 17:20

Re: Fehler bei Funktionszuweisung
 
Du mußt natürlich schon die ServerExec vom THelper ausprogrammieren, mit dem was sie tun soll :)

Desmulator 20. Dez 2007 17:25

Re: Fehler bei Funktionszuweisung
 
aha und wie das= den function quelltext unter die deklaration quetschen? :wiejetzt:

Delphi-Quellcode:
Type
     THelper = class
     public
       class procedure ServerExec(AThread: TIdPeerThread);
       var
         Command: String;
       begin
         //Der Server wurde aufgerufen
         while AThread.Connection.Connected do begin
           //Command einlesen
           Command := AThread.Connection.CurrentReadBuffer;

         end;
       end;
     end;

DeddyH 20. Dez 2007 17:27

Re: Fehler bei Funktionszuweisung
 
Ungetestet:
Delphi-Quellcode:
program Neon;

uses
  Forms, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdTCPServer,
  Classes, Controls;

{$R *.res}

Type
     THelper = class
     public
       class procedure ServerExec(AThread: TIdPeerThread);
     end;

procedure THelper.ServerExec(AThread: TIdPeerThread);
var
  Command: String;
begin
  //Der Server wurde aufgerufen
  while AThread.Connection.Connected do begin
    //Command einlesen
    Command := AThread.Connection.CurrentReadBuffer;

  end;
end;

var
  TcpClient: TIdTcpClient;
  TcpServer: TIdTcpServer;
  Buffer: String;

begin

  //StartUp, anschalten der Tcp's
  TcpClient := TIdTcpClient.Create(Application.Owner); //Client erstellen
  TcpClient.Port := 18754; //Port festlegen
  TcpServer := TIdTcpServer.Create(Application.Owner); //Server erstellen
  TcpServer.DefaultPort := 18754; //Port festlegen
  TcpServer.Active := true; //Server starten

  //Events setzen
  TcpServer.OnExecute := THelper.ServerExec;

  //Anlaufen der DauerSchleife
  while not Application.Terminated do begin


  end;
end.

Desmulator 20. Dez 2007 17:32

Re: Fehler bei Funktionszuweisung
 
er meldet dass sich die delkaration von der vorherigen unterscheidet

Ghostwalker 20. Dez 2007 17:34

Re: Fehler bei Funktionszuweisung
 
Delphi-Quellcode:
program Neon;

uses
  Forms, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdTCPServer,
  Classes, Controls;

{$R *.res}

Type
     THelper = class
     public
       class procedure ServerExec(AThread: TIdPeerThread);
     end;

class procedure THelper.ServerExec(AThread: TIdPeerThread);
var
  Command: String;
begin
  //Der Server wurde aufgerufen
  while AThread.Connection.Connected do begin
    //Command einlesen
    Command := AThread.Connection.CurrentReadBuffer;

  end;
end;

var
  TcpClient: TIdTcpClient;
  TcpServer: TIdTcpServer;
  Buffer: String;

begin

  //StartUp, anschalten der Tcp's
  TcpClient := TIdTcpClient.Create(Application.Owner); //Client erstellen
  TcpClient.Port := 18754; //Port festlegen
  TcpServer := TIdTcpServer.Create(Application.Owner); //Server erstellen
  TcpServer.DefaultPort := 18754; //Port festlegen
  TcpServer.Active := true; //Server starten

  //Events setzen
  TcpServer.OnExecute := THelper.ServerExec;

  //Anlaufen der DauerSchleife
  while not Application.Terminated do begin


  end;
end.
Man beachte das CLASS vor der Procedure :)

mkinzler 20. Dez 2007 17:38

Re: Fehler bei Funktionszuweisung
 
Welcher Fehler?

Ghostwalker 20. Dez 2007 17:53

Re: Fehler bei Funktionszuweisung
 
Den, den ich da oben bereits ausgemerzt habe. :) Den Satz hab ich nur nochmal drunter geschrieben, da man das CLASS sehr leicht im Quelltext überließt :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:26 Uhr.
Seite 2 von 2     12   

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