![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 10.03.2007
Сообщений: 2
|
![]()
Привет всем. Не знаю, возможно такой вопрос уже задавали, но нет времени на поиск, вобщем суть такова:
Я создаю компонент(Батон), мне нужно на событие онклик присвоить ему ранее описанную процедуру из моего класса. Как это сделать? У меня почему-то категорически отказыается это делать. Код выглядит след. образом: TRaspisanie = class public NewItem:array[1..6,1..8] of TEdit; But: array[1..6] of TButton; ItemCount:array[1..6] of byte; Day : byte; procedure AddItem(Day : byte; Roditel : byte); end; // Вот это есть класс procedure TRaspisanie.AddItem(Day : byte; Roditel : byte); begin if Rasp.ItemCount[Day] < 6 then begin Rasp.NewItem[Rasp.Day,Rasp.ItemCount[Rasp.Day]] := TEdit.Create(Form1); Rasp.NewItem[Rasp.Day,Rasp.ItemCount[Rasp.Day]].Left := Rasp.But[Roditel].Left - Rasp.But[Roditel].Width; Rasp.NewItem[Rasp.Day,Rasp.ItemCount[Rasp.Day]].Top := Rasp.But[Roditel].Top; Rasp.NewItem[Rasp.Day,Rasp.ItemCount[Rasp.Day]].Visible := true; Rasp.NewItem[Rasp.Day,Rasp.ItemCount[Rasp.Day]].Parent := Form1; Rasp.NewItem[Rasp.Day,Rasp.ItemCount[Rasp.Day]].Width := Rasp.But[Roditel].Width * 3; Rasp.NewItem[Rasp.Day,Rasp.ItemCount[Rasp.Day]].Hint := Rasp.NewItem[Rasp.Day,Rasp.ItemCount[Rasp.Day]].Text; Rasp.NewItem[Rasp.Day,Rasp.ItemCount[Rasp.Day]].ShowHint := true; Rasp.But[Roditel].Top := Rasp.NewItem[Rasp.Day,Rasp.ItemCount[Rasp.Day]].Top + Rasp.NewItem[Rasp.Day,Rasp.ItemCount[Rasp.Day]].Height; Rasp.ItemCount[Rasp.Day] := Rasp.ItemCount[Rasp.Day] + 1; end; end; /// это есть та процедура, которую надо присвоить событию (на код не смотрите, он не доделан(у этой процедуры), но суть не в этом) procedure TForm1.FormCreate(Sender: TObject); var i:byte; x : integer; begin Rasp := TRaspisanie.Create; x := 32; for i:= 1 to 6 do begin Rasp.But[i] := TButton.Create(Form1); if i = 1 then Rasp.But[i].Left := x else Rasp.But[i].Left := Rasp.But[i-1].Left + 80; Rasp.But[i].Top := 50; Rasp.But[i].Parent := Form1; Rasp.But[i].Visible := true; Rasp.But[i].Width := Rasp.But[i].Height; Rasp.But[i].Caption := '+'; Rasp.But[i].Tag := i; Rasp.But[i].OnClick := ?????; /// что должно прописываться здесь? вместо знаков "?????", Rasp.AddItem(Day : byte; Roditel : byte) не катит. Rasp.ItemCount[i] := 1; end; end; |
![]() |
![]() |
![]() |
#2 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
а OnClick какой тип имеет ? :D должен быть пусть там TOnClick = procedure(Day : byte; Roditel : byte) of object; вот так надо
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
События для DBGrid | Максим_Леонидович | Компоненты Delphi | 1 | 08.08.2008 22:43 |
Назначение прав пользователя | Seqular | Безопасность, Шифрование | 1 | 04.08.2007 16:48 |
Перехват события | juden | Общие вопросы Delphi | 5 | 23.05.2007 12:21 |
Обработчик события... | Flash_ | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 12 | 12.03.2007 21:24 |
назначение модераторов | Alar | О форуме и сайтах клуба | 25 | 08.12.2006 18:30 |