Autor Beitrag
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: So 06.07.03 09:29 
Hi,
erstmal ein bisschen Code:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
program Project1;

{$APPTYPE CONSOLE}

uses
  Forms,
  idTCPServer,
  dialogs;

var POP:TidTCPServer;

procedure POPConnect(AThread:TidPeerThread);
begin
 if AThread=nil then ShowMessage('Connect: NIL');
end;

procedure POPExecute(AThread:TidPeerThread);
begin
 if AThread=nil then ShowMessage('Execute: NIL');
end;

begin
  POP:=TidTCPServer.Create(nil);

  @POP.OnConnect:=@PopConnect;
  @POP.OnExecute:=@POPExecute;

  POP.DefaultPort:=110;

  POP.Active:=True;

  while not (Application.Terminated) do begin
//   Sleep(1);
   Application.ProcessMessages;
  end;

  POP.Free;
end.
Es handelt sich also um eine Konsolen Applikation, ohne Forms. Es wird ein Server erstellt und es werden 2 Ereignisse sowie 2 Eigenschaften zugewiesen. (Das mit den Pointern habe ich hier mal irgendwo im Forum gelesen). Auf jeden Fall, ist aber in den Ereignisroutinen AThread=nil. Warum :?:

maxk

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
maxk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Do 16.06.05 18:34 
Noch eine offene Frage...
Falls jemand ein ähnliches Problem mit den Indy hat, so kann er es umgehen, indem er eine neue Klasse erstellt, die von TidTCPServer abgeleitet ist. Dort kann man dann DoExecute, DoConnect, etc. überschreiben. Bei anderen Komponenten kann man eine neue Klasse von TObject erstellen und diese mit den benötigten OnXXX ausstatten. Dann geht es auch.

Gruß,
maxk

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.