Эх, опять не хочет компилироваться
Код:
unit mypotok;
interface
uses
ScktComp,
Classes,SysUtils, ADODB,ActiveX;
type
TMyThread = class(TThread)
// данные из сокета
procedure ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket);
// соеденение
procedure ClientSocketConnect(Sender: TObject; Socket: TCustomWinSocket);
private
{ Private declarations }
protected
procedure Execute; override;
end;
var MYClientSocket:TClientSocket;
implementation
uses unit1;
procedure TMyThread.ClientSocketConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
Socket.SendText('test ');
end;
procedure TMyThread.ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket);
begin
end;
procedure TMyThread.Execute;
I: Integer;
myList:TList;
const NumberClientSocket=1;
begin
// создаем список
MYList := TList.Create;
// создаем сокеты
for I :=0 to NumberClientSocket do
begin
MYClientSocket:=TClientSocket.Create(nil);
MYClientSocket.OnRead:=TMyThread.ClientSocketRead;
MYClientSocket.OnConnect:=TMyThread.ClientSocketConnect;
MYClientSocket.Name:='MS'+inttostr(I);
MYList.Add(MYClientSocket);
end;
// прописываем IP сокету последнего терминала в списке
TClientSocket(myList[0]).Address:=terminalip(termial[termial.Count-1-I]);
// прописываем порт
TClientSocket(myList[0]).port:=55555;
// соеденяемся
TClientSocket(myList[0]).Open;
while True do
begin
end;
// освобождаем сокеты
for I :=0 to NumberClientSocket do
begin
TClientSocket(myList[i]).Close;
TClientSocket(myList[i]).Free;
end;
// освобождаем список
termial.Free;
end;
end.
ошибка на строчках
Код:
MYClientSocket.OnRead:=TMyThread.ClientSocketRead;
Код:
MYClientSocket.OnConnect:=TMyThread.ClientSocketConnect;
[DCC Error] mypotok.pas(111): E2010 Incompatible types: 'TSocketNotifyEvent' and 'Procedure'
[DCC Error] mypotok.pas(112): E2010 Incompatible types: 'TSocketNotifyEvent' and 'Procedure'
Как правильно присвоить обработчики?