|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.08.2012, 15:39 | #1 |
Пользователь
Регистрация: 10.08.2012
Сообщений: 84
|
Ссылка на процедуру
Допустим у меня есть модуль (Unit 2 например), в котором есть процедура добавляющая пункт в главное меню из первого модуля. То есть из Unit 1 мне надо дать ссылку на процедуру этого юнита в другой юнит, но тот другой как бы не знает, что вызывающий его юнит назывется юнит 1. То есть какую процедуру надо сделать в юнит 2, чтоб вызвав её из юнита 1 в юните 2 главному меню при щелчке на пункт вызывалась процедура из юнита 1
Наверно никто не поймёт что я хотел спросить... |
10.08.2012, 15:48 | #2 |
Homo Interneticus
Форумчанин
Регистрация: 04.03.2011
Сообщений: 611
|
Используйте Uses. Почитайте книжки по Delphi
|
10.08.2012, 15:52 | #3 |
Пользователь
Регистрация: 10.08.2012
Сообщений: 84
|
Счас объясню лучше, чё мне надо
в Unit2 есть массивы menuh: array[1..10] of Tmainmenu; forms: array[1..10] of TForm; ... //процедуры связанные с меню procedure CreateNewMenu(d,p: integer); begin menuh[d]:=TMainMenu.Create(Forms[p]); forms[p].Menu:=menuh[d]; end; procedure MenuADD(d: integer; mp: string); var newitem: Tmenuitem; begin newitem := tmenuitem.create(Menuh[d]); newitem.caption := mp; {если вы хотите определить событие onclick newitem.onclick:=Dynamenuclick; } {добавляем это к верхнему уровню меню} menuh[d].items.insert(menuh[d].items.count, newitem); end; procedure SubMenuAdd(d,mi: integer; mp: string); var newitem, toitem: Tmenuitem; begin {to = верхний уровень меню для нового пункта} toitem := menuh[d].items[mi]; newitem := tmenuitem.create(toitem); newitem.caption := mp; {если вы хотите определить событие onclick newitem.onclick:=Dynamenuclick; } toitem.onclick := nil; toitem.insert(toitem.count, newitem); end; Как определить событие onclick с процедурой из модуля, который использует Unit2 если имя этого модуля не известно (uses не выйдет) |
10.08.2012, 16:07 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
имя модуля не может быть вам не известно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
10.08.2012, 16:16 | #5 |
Пользователь
Регистрация: 10.08.2012
Сообщений: 84
|
Это конечно верно, но этот модуль допустим будет использоваться другими людьми им тогда обязательно надо немножно изменить подключения юнитов
Стоп. А у меня Unit 2 вызывается проектом а не юнитом, чё тогда |
10.08.2012, 16:24 | #6 |
Пользователь
Регистрация: 10.08.2012
Сообщений: 84
|
Ладно извините я уже запутался, чёрт с ней с этой идеей
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ссылка | Maiykl | Помощь студентам | 0 | 12.06.2012 09:48 |
Написать процедуру, заменяющую стандартную процедуру Insert | Andi5 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 24.11.2011 17:57 |
Ссылка | Drulya | C# (си шарп) | 2 | 17.10.2011 18:41 |
Ссылка в VB 6 | serega112000 | Помощь студентам | 2 | 01.02.2010 21:44 |
Ссылка на процедуру из dpr которая в pas | Alex Cones | Win Api | 3 | 14.11.2009 13:00 |