Форум: "KOL";
Текущий архив: 2009.07.19;
Скачать: [xml.tar.bz2];
ВнизНе удаётся получить объект 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 вся ветка
Форум: "KOL";
Текущий архив: 2009.07.19;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c