Событие динамически созданному компоненту [РЕШЕНО]

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Событие динамически созданному компоненту [РЕШЕНО]

Сообщение AlexNightingaller » 09.07.2011 13:21:13

Есть динамически созданная форма, ей присваевается событие OnResize:
Код: Выделить всё
formar[fc].OnResize:=Form1.DesTimeResize(sender);

Выдает ошибку:
menu.pas(296,24) Error: Incompatible types: got "untyped" expected "<procedure variable type of procedure(TObject) of object;Register>"
Если пишу так:
Код: Выделить всё
formar[fc].OnResize:=Form1.DesTimeResize;

То ошбка такая: menu.pas(296,43) Error: Wrong number of parameters specified for call to "DesTimeResize"
Процедура объявлена так:
procedure DesTimeResize(Sender: TObject);
Объявлена в разделе Public класса формы.
В чем дело?
Под windows
Последний раз редактировалось AlexNightingaller 09.07.2011 14:30:55, всего редактировалось 1 раз.
AlexNightingaller
новенький
 
Сообщения: 19
Зарегистрирован: 08.06.2011 10:41:16

Re: Событие динамически созданному компоненту

Сообщение Mr.Smart » 09.07.2011 13:27:45

Код: Выделить всё
formar[fc].OnResize:=@Form1.DesTimeResize;
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Событие динамически созданному компоненту

Сообщение AlexNightingaller » 09.07.2011 13:45:39

Спасибо огромное!
AlexNightingaller
новенький
 
Сообщения: 19
Зарегистрирован: 08.06.2011 10:41:16

Re: Событие динамически созданному компоненту [РЕШЕНО]

Сообщение Pavidlo » 14.07.2011 11:08:41

Mr.Smart , а вы не могли бы объяснить чем первый вариант написания, отличается от 2.. Визуально то вижу, но не совсем понимаю...
Pavidlo
новенький
 
Сообщения: 41
Зарегистрирован: 16.02.2011 16:04:49

Re: Событие динамически созданному компоненту [РЕШЕНО]

Сообщение Mr.Smart » 14.07.2011 11:27:57

Pavidlo
В Pascal операция @ - взятие адреса. В свойстве OnResize содержится адрес метода. Логично?

Это справедливо для стандарта Pascal, но хитрые Borland решили, что эта операция лишняя для функций, процедур и т.д. ("А чо и так всё понятно") и можно её не указывать. А вот более хитрые разработчики FPC решили всё таки придерживаться стандарту. Вот такой вот сырбор получился.

Есть одно НО. Если хочется писать как в Delphi аж чешется, можно воспользоваться хитрой директивой {$mode delphi} она как раз и подскажет FPC, что быдлокод в стиле дельфей и всё поглотится.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Событие динамически созданному компоненту [РЕШЕНО]

Сообщение Pavidlo » 14.07.2011 12:48:38

Спасибо большое)
Pavidlo
новенький
 
Сообщения: 41
Зарегистрирован: 16.02.2011 16:04:49


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 216

Рейтинг@Mail.ru
cron