Текущий архив: 2006.10.15;
Скачать: CL | DM;
ВнизParent PopupMenu "автоматом" - возможено? Найти похожие ветки
← →
Ega23 © (2006-09-25 18:30) [0]Есть PageControl, 4 TabSheet, на одном лежит ещё один PageControl, на нём ещё 4 TabSheet, на каждом лежит TDBGrid (родной). PopupMenu в дизайн-тайм не задано никому из четырёх. Однако же при запуске - появляется, причём вообще от другого TabSheet самого верхнего PageControl.
В ран-тайм вроде нигде не задаю. Может ли он как-то автоматически присваиваться?
← →
ProgRAMmer Dimonych (2006-09-25 18:35) [1]Пардон, другому TabSheet"у в дизайн-тайме назначен PopupMenu?
← →
Ega23 © (2006-09-25 18:45) [2]
> Пардон, другому TabSheet"у в дизайн-тайме назначен PopupMenu?
>
>
TabSheet"у - нет, а вот гриду, который на нём лежит - да.
Мистика какая-то...
← →
ProgRAMmer Dimonych (2006-09-25 18:46) [3]Сейчас попробую сам глянуть.
А вообще насчёт мистики - вряд ли. :)
← →
Ega23 © (2006-09-25 18:48) [4]
> А вообще насчёт мистики - вряд ли. :)
Только что специально положил Button c кодом
procedure TFClassConfig.Button4Click(Sender: TObject);
begin
ShowMessage(dbgClassStates.PopupMenu.Name);
end;
dbgClassStates - один из проблемных TDBGrid.
Справедливо получил AV (т.к. dbgClassStates.PopupMenu=nil).
НО ОН ЖЕ ПОКАЗЫВАЕТСЯ!!!!
← →
ProgRAMmer Dimonych (2006-09-25 18:52) [5]Насчёт PopupMenu.Name - может, он (DBGrid) сравнивает его (PopupMenu) с nil и...
А PopupMenu кому задан, можно ещё разок уточнить?
← →
Плохиш © (2006-09-25 18:54) [6]
> Ega23 © (25.09.06 18:48) [4]
А форме онo не присвоенo случайно?
← →
ProgRAMmer Dimonych (2006-09-25 18:55) [7][6] прав...
← →
Ega23 © (2006-09-25 19:00) [8]
> А форме онo не присвоенo случайно?
В том-то и дело, что нет.
← →
Плохиш © (2006-09-25 19:03) [9]
> Ega23 © (25.09.06 19:00) [8]
Ну тогда переключаешь форму в режим показа в виде текста и поиском ищешь упоминания своего попапа.
← →
ProgRAMmer Dimonych (2006-09-25 19:04) [10]Тогда ответ на вопрос [5], если можно.
Или проект запаковать, если не секретный, и выложить куда-нибудь (на крайний случай - на WebFile.ru)
← →
Ega23 © (2006-09-25 19:08) [11]
> Или проект запаковать, если не секретный, и выложить куда-
> нибудь (на крайний случай - на WebFile.ru)
Я-то запакую, но надо тащить ещё кучу разных packages (свои компоненты + Rx + EhLib) + база под MSSQL... :о)
Сейчас, я ещё один тестик напишу.
Кстати, у кого PopupMenu появляется? TControl?
← →
ProgRAMmer Dimonych (2006-09-25 19:11) [12]> Кстати, у кого PopupMenu появляется? TControl?
У него...
← →
Ega23 © (2006-09-25 19:11) [13]От зараза, он у него в приват засунут... В смысле в proected....
← →
Ega23 © (2006-09-25 19:12) [14]Так. Назревает более интересный вопрос: как в ран-тайм получить список контролов, имеющих конкретный PopupMenu?
← →
ProgRAMmer Dimonych (2006-09-25 19:13) [15]А что за идея была, если не секрет?
[11]
Тогда, хотя бы dfm на ДельфиМастер...
← →
Плохиш © (2006-09-25 19:15) [16]
> Ega23 © (25.09.06 19:12) [14]
> Так. Назревает более интересный вопрос
Ответ банальный: пробежаться по списку и сравнить.
← →
ProgRAMmer Dimonych (2006-09-25 19:17) [17]А вообще, случайно, не PageControl"у ли назначено PopupMenu?
← →
Ega23 © (2006-09-25 19:22) [18]Всё. Нашёл в чём дело. Действительно мистики никакой не было. :)
Короче: писал наследника от TCustomTreeView. У которого PopupMenu естественно находится в секции protected. В published не перекрыл. А т.к. в своё время поленился (в силу ряда причин) сделать его нормальным компонентом, то пользоваться им можно только создав в ран-тайме. Ну и вот:
PhsTypCfgTree :=TKdrDBTreeView.Create(Self);
With PhsTypCfgTree do
begin
KeyField:="PhsTypCfgCod";
ParentField:="ParPhsTypCfgCod";
DisplayField:="PhsTypCfgNam";
ImageField:="PhsTypCfgImg";
HintField:="PhsTypCfgNot";
ShowHint:=True;
Parent:=pnPhsCfgTypTree;
Align:=alClient;
DataSource:=DMMain.dsPhsTypConfigs;
PopupMenu:=popmenuPhsTypConfigs;
end;
Но это уже относилось к классу формы.
В общем - коварный With :о)
Всем спасибо!
← →
Ega23 © (2006-09-25 19:23) [19]
> Ответ банальный: пробежаться по списку и сравнить.
>
Как? :о)
Это свойство в protected лежит... :о)
← →
guav © (2006-09-25 22:08) [20]
> В общем - коварный With :о)
Баян, было месяц назад :-)
← →
Германн © (2006-09-26 01:23) [21]
> В общем - коварный With :о)
И мне он тоже не раз подкладывал свинью. :-(
Теперь всегда следую правилу "не уверен, не обгон..., т.е "не уверен на все сто к кому будет относиться with читай справку как можно тщательнее" или используй прямое указание внутри with (Хуже не будет на все 100!)!
Страницы: 1 вся ветка
Текущий архив: 2006.10.15;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.045 c