Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Немогу присвоить событие :(


Автор: Ak47black 2.5.2006, 18:14
Доброе время суток.
Сталкнулься со следушей проблемой
Код

procedure incedit1;
var
  con:TClientSocket;
begin
  con:=TClientSocket.Create(Main_form);
  con.Port:=554;
  con.Address:='212.24.245.133';
  con.Active:=True;
  con.OnConnect:=showmessage('Connected !!!');//тут ошибка
end;

Код ошибки
Код

[Error] main.pas(144): Incompatible types: 'TSocketNotifyEvent' and 'procedure, untyped pointer or untyped parameter'

Подскажите пожалуйста решение этой проблемы  smile  

Автор: Snowy 2.5.2006, 18:21
Код

procedure OnConnect(Sender: TObject) of object;
begin
  showmessage('Connected !!!');
end;

procedure incedit1;    
var    
  con:TClientSocket;    
begin    
  con:=TClientSocket.Create(Main_form);    
  con.Port:=554;    
  con.Address:='212.24.245.133';    
  con.Active:=True;    
  con.OnConnect := OnConnect;
end;
 

Автор: Ak47black 2.5.2006, 18:40
На 
Код

procedure OnConnect(Sender: TObject) of object;

Выдает ошибку
Код

[Error] main.pas(136): ';' expected but 'OF' found
  

Автор: Snowy 2.5.2006, 19:13
Код

  TMain_form = class(TForm)
  private
    class procedure OnSocketConnect(Sender: TObject; Socket: TCustomWinSocket);
  end;

var Main_form: TMain_form;

implementation

class procedure TMain_form.OnSocketConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
  showmessage('Connected !!!');
end;

procedure incedit1;
var
  con:TClientSocket;
begin
  con:=TClientSocket.Create(Main_form);
  con.Port:=554;
  con.Address:='212.24.245.133';
  con.Active:=True;
  con.OnConnect := Main_form.OnSocketConnect;
end;
 

Автор: Ak47black 2.5.2006, 19:27
Ок. Вроде все работает спасиба за ответ. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)