Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.04;
Скачать: CL | DM;

Вниз

Потеря ссылки на компонент   Найти похожие ветки 

 
far ©   (2004-10-07 15:03) [0]

Доброго времени суток, уважаемые.
У меня проблема со свойством-ссылкой на компонент.

Выглядит это так:
На форме Main находится компонент A типа TA, используемый другими компонентами типа TB, находящимися на разных формах приложения. Соответственно TB содержит свойство-ссылку на A.

Проблема:
В design-time, при загрузке формы, содержащей TB, ссылка на A восстанавливается правильно не всегда. Часто для нее задается nil.
В dfm все правильно: PropA = frmMain.A
Как ни странно, на тестовом приложении с двумя формами проблема не проявляется. Но зато в большом приложении с десятками форм ссылки на некоторых формах обнуляются со 100% вероятностью. На других формах этого же приложения ссылки могут не обнуляться, если заранее была загружена в редактор форма Main. Это различие меня очень удивляет, ведь в обоих приложениях нет кода, работающего в design-time и затрагиваещего внутренности моих компонентов.

Скажите пожалуйста, является ли эта проблема стандартной для Delphi? Что в принципе можно попробовать сделать?


 
panov ©   (2004-10-07 15:06) [1]

Думаю, что сделать можно, если увидеть код.


 
far ©   (2004-10-07 15:28) [2]

Судя по Вашему ответу, я делаю вывод, что проблемы такой возникать не должно, верно?

Я уверен, что в моем коде нет операций, влияющих на значение считываемого свойства при загрузке формы.
Я не использую это свойство в фунции DefineProperties и каких
Это просто свойство типа TA, имеющее значение frmMain.A. И все!

Вместе с тем код компонентов занимает несколько тысяч строк. Вы уверены, что Вам захочется его увидеть?


 
far ©   (2004-10-07 15:42) [3]

Должен признать, что я немного ошибся, ссылки правильно восстанавливаются, если заранее была загружена в редактор форма Main, содержащая компонент A.


 
Юрий Зотов ©   (2004-10-08 02:07) [4]

> является ли эта проблема стандартной для Delphi?

ИМХО, на больших проектах среда действительно подглюкивает. Например, часто не срабатывает Ctrl+Space.

> Что в принципе можно попробовать сделать?

Написать эксперт, который при открытии любой формы с компонентом B сначала автоматически открывает форму с компонентом A. Но не уверен, что овчинка стоит выделки, потому что можно делать то же самое и вручную.


 
far ©   (2004-10-08 17:38) [5]

Спасибо, Юрий, Вы как всегда кстати :)



Страницы: 1 вся ветка

Текущий архив: 2005.09.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.041 c
2-1123259827
MAVr
2005-08-05 20:37
2005.09.04
Cмена атрибутов файлов


14-1123830106
vecna
2005-08-12 11:01
2005.09.04
разыскивается раритет =)


6-1116353312
lifo
2005-05-17 22:08
2005.09.04
Консольная программа по передаче файлов


14-1123508510
oldman
2005-08-08 17:41
2005.09.04
Не помню, откуда сличил, возможно и с этого сайта :)


3-1122040445
sergg
2005-07-22 17:54
2005.09.04
Можно ли просматривать содержимое полей типа Memo в DBGide?