![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Помогите при компиляции, выдает ошибку на строчку.
Код:
MYClientSocket.OnRead:=ClientSocketRead; [DCC Error] mypotok.pas(81): E2009 Incompatible types: 'method pointer and regular procedure' Как правильно обработать события от созданных сокетах? Код:
unit mypotok; interface uses ScktComp, Classes,SysUtils, ADODB,ActiveX; // данные из сокета procedure ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket); type TMyThread = class(TThread) private { Private declarations } protected procedure Execute; override; end; var MYClientSocket:TClientSocket; implementation procedure ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket); begin {} end; procedure TMyThread.Execute; var termial:TStringList; I: Integer; myList:TList; const NumberClientSocket=1; begin // создаем список MYList := TList.Create; // создаем сокеты for I :=0 to NumberClientSocket do begin MYClientSocket:=TClientSocket.Create(nil); MYClientSocket.OnRead:=ClientSocketRead; MYClientSocket.Name:='MS'+inttostr(I); MYList.Add(MYClientSocket); end; // основной цикл потока while True do begin TClientSocket(myList[i]).Address:=terminalip('127.0.0.1'); TClientSocket(myList[i]).port:=55555; TClientSocket(myList[i]).Open; end; // освобождаем сокеты for I :=0 to NumberClientSocket do begin TClientSocket(myList[i]).Close; TClientSocket(myList[i]).Free; end; // освобождаем список termial.Free; end; end. Последний раз редактировалось alanatolich, 26.12.2013 в 17:35. |