Når du opretter en komponent runtime, som det hedder, og skal tildele hændelser, skal du først og fremmest definere disse hændelser på forhånd. Dernæst tildeler du dem som en hver anden egenskab.
Du kan enten kigge i kildekode (ScktComp.pas) eller prøve at sætte komponenten og oprette de hændelser du er interesseret.
Dit eksempel med TServerSocket.OnClientRead er en TSocketNotifyEvent class procedure, som ser således ud:
TSocketNotifyEvent = procedure (Sender: TObject; Socket: TCustomWinSocket) of object;
Dvs. du skal definere en procedure i din klasse som følger dette mønster. Således:
type
TForm1 = Class(TForm)
procedure FormCreate(Sender: TObject);
private
ServerSocket : TServerSocket;
procedure ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
public
end;
implements
procedure TForm1.FormCreate(Sender: TObject);
begin
ServerSocket := TServerSocket.Create(nil);
ServerSocket.OnClientRead := ServerClientRead;
end;
procedure TForm1.ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
begin // bla bla
end;
--
Thomas Due
Software developer
udvikleren.dk - ASP redaktør
tdue@mail.dk