Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.19;
Скачать: CL | DM;

Вниз

Не удаётся получить объект Sender в обработчике...   Найти похожие ветки 

 
Алексей К.   (2008-02-22 18:28) [0]

Делаю вот что:


procedure ButtonDn( Sender: PControl);
var
 s: string;
begin
 case Sender.Tag of
   1: s := "BUTTON 1!";
   2: s := "BUTTON 2!";
   3: s := "BUTTON 3!";
 end;
 MsgOk(s);
end;

begin
...
MyBtn := NewBitBtn(form, "Some", [], glyphOver, 0, 0);
MyBtn.tag := 1;
MyBtn.OnClick := TOnEvent(MakeMethod(nil, @ButtonDn));


Далее в отладчике смотрю:
Sender|nil, т.е. его св-ва я получить не смогу, и следовательно, программа падает на case Sender.Tag of... =( Что я делаю не так?

Зарание спасибо!


 
mdw ©   (2008-02-22 18:37) [1]


> MyBtn.OnClick := TOnEvent(MakeMethod(nil, @ButtonDn));

Передаете nil, получаете соответствено, тоже его.


 
Алексей К.   (2008-02-22 18:37) [2]

ясно, спасибо!


 
D[u]fa   (2008-02-22 18:48) [3]

procedure ButtonDn( Sender: PControl);

а как же

procedure ButtonDn(Dummy: Pointer; Sender: PControl);


 
Алексей К.   (2008-02-22 20:47) [4]

интересный получается учебник по KOL (Урок №xx)

www.kolnmck.ru/lessons/lessonsind.shtml

=(

сплошной сборник ошибок какой-то :((
там MakeMethod(nil, @ButtonDn) и т.п. на каждом шагу + куча других недочетов, сейчас скачал книгу Владимира Кладова, думаю, она от таких багов избавлена ;)

ЗЫ
Уважаемый, Владимир. Пожалуйста исправте эти баги в уроках (или уберите этот учебник совсем), а то у людей, не имевших дело с KOL (напр. таких как я =)) возникнит тонна подобных вопросов...

ЗЫЫ
Всем спасибо за ответы!


 
ANTPro ©   (2008-02-23 00:06) [5]

> [4] Алексей К.   (22.02.08 20:47)

Ошибки в студию!


> [4] Алексей К.   (22.02.08 20:47)
> nil

Это указаатель на экземпляр объекта, если не используется в обработчике события, то можно юзать nil :о)


 
Алексей К.   (2008-02-23 09:23) [6]


Ошибки в студию


Например:
Урок 3.
...
В KOL также есть группа свойств, которые описывают положение объекта относительно объекта который был создан первым.
PlaceRight (справа относительно первого), PlaceDown (снизу), PlaceUnder (абсолютно под первым объектом)

не правильно.
я немного разобрал систему (PlaceDown, PlaceUnder) см. соседний топик...
насчёт PlaceRight, ф-ия размещает контрол справа относительно  последнего размещенного, а не справа относительно первого
...

Урок 5.


....
  var
    form,
    PanTools,
    REdit,
    butOpen,
    butSave:PControl;

  procedure clikButOpenSave( Dummy : Pointer; Sender : PControl );
  var
   Dialog:POpenSaveDialog;
   title:string;
  begin
   if sender= butOpen then  //определяем что за кнопка

... а в качестве параметра мы передали nil :(
     ...

  end;

  begin
    form:=NewForm(Applet,"Ðåäàêòîð");

покажите мне, где обьявлена глобальная переменная Dialog?

    Dialog:=NewOpenSaveDialog(title,"",[]) ;
   
...
Собственно ошибка при назначении обработчика...

    butOpen.OnClick := TOnEvent(MakeMethod(nil,@clikButOpenSave));
    butSave.OnClick := TOnEvent(MakeMethod(nil,@clikButOpenSave));
    run(form);
  end.



и т.д. и т.д...


 
ANTPro ©   (2008-02-23 14:18) [7]

Пофиксил, надеюсь заметят mdw или MTsv DN.
http://www.antprog.narod.ru/fixlessons.7z [14кб]


 
Алексей К.   (2008-02-23 14:25) [8]

отлично!
но, просмотрите так-же остальные уроки, подобные ошибки встречаются и там...


 
mdw ©   (2008-02-24 15:16) [9]

В уроках могут встречаться ошибки еще и по той причине, что писались они несколько лет назад, а с тех пор много воды утекло, и многое изменилось в КОЛ....

> NTPro ©   (23.02.08 14:18) [7]
> Пофиксил, надеюсь заметят mdw или MTsv DN.http://www.antprog.
> narod.ru/fixlessons.7z [14кб]

Обновлю во вторник.



Страницы: 1 вся ветка

Текущий архив: 2009.07.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
4-1212759590
Юрий123
2008-06-06 17:39
2009.07.19
настроить tcp/ip


2-1243279936
Фима
2009-05-25 23:32
2009.07.19
Распределение потоков


15-1242477814
KilkennyCat
2009-05-16 16:43
2009.07.19
Американцы, похоже, совсем едут на негрополиткорректности.


2-1243342539
jz
2009-05-26 16:55
2009.07.19
MDI формы


15-1242661994
Игорь
2009-05-18 19:53
2009.07.19
Delphi на русском