Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.039 c
2-1159277739
Inna_Z
2006-09-26 17:35
2006.10.15
События MouseDown и MouseUp.


15-1159089578
PHPDeveloper
2006-09-24 13:19
2006.10.15
An error has occurred in the scriptm on this page


15-1158847784
furyz
2006-09-21 18:09
2006.10.15
Apache conf


15-1158668300
jack128
2006-09-19 16:18
2006.10.15
Ахиллес и Черепаха


15-1158680769
Marser
2006-09-19 19:46
2006.10.15
Читабельно или красиво - что приоритетнее?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский