Главная страница
    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.043 c
5-1141101752
FunkyByte
2006-02-28 07:42
2006.10.15
Прерывание работы конструктора


6-1148129528
Замок
2006-05-20 16:52
2006.10.15
Никто не подскажет, как сделать arp spoofing средствами delphi ?


11-1135259006
DVK
2005-12-22 16:43
2006.10.15
Не могу сделать нормальный Resize на KOLListView


2-1159385485
redlord
2006-09-27 23:31
2006.10.15
объекты в листбоксе


2-1159339449
learner
2006-09-27 10:44
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский