| 发表于:2007-04-19 13:11:51 楼主 |
unit unit1; interface uses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs, stdctrls, scktcomp; type tform1 = class(tform) button1: tbutton; procedure button1click(sender: tobject); private procedure clientread (sender: tobject; socket: tcustomwinsocket); public { public declarations } end; var form1: tform1; implementation {$r *.dfm} var serversocket1: tserversocket; procedure tform1.button1click(sender: tobject); begin serversocket1.onclientread := clientread; end; procedure tform1.clientread(sender: tobject; socket: tcustomwinsocket); begin end; end. 上面的代码是可行的,而且没有错误的 \\------------------------------------------------------------------------- 下面的代码是不可行的,而且有错误,但我不清楚为什么会出错 library clientdll; uses sysutils, classes, scktcomp, command in 'command.pas '; {$r *.res} var serversocket1: tserversocket; procedure clientread (sender: tobject; socket: tcustomwinsocket); var s: string; begin s := socket.receivetext; end; procedure starttcpserver; begin serversocket1 := tserversocket.create(nil); with serversocket1 do begin port := 503; servertype := stthreadblocking; onclientread := clientread; active := true; end; end; procedure closetcpserver; begin with serversocket1 do begin active := false; free; end; end; begin end. \\-------------------------------------------------------------- 上面的二段代码同样是onclientread := clientread;但下面的一个就有问题,是错误的。我不知道是那里出了问题,是不是dll里面不能这样写。 |
|
|
|
|