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

Вниз

Редактор нестандартного свойсва   Найти похожие ветки 

 
TStas ©   (2005-09-07 19:27) [0]

1) Пишу компонент, есть у него нестандартное свойство, к нему надо бы написать редактор свойства, у которого должно быть, естественно, диалоговое окно. Так это окно нужно в RunTime’е создавать полностью или можно и в DisignTime’е?
Только если можно и в DisignTime’е, тогда не пойму, как же, ведь все свойства объектов окна должны храниться в dfm’е, а где тогда должен храниться сам dfm? Смотрел диск Фаронова к книжке о компонентах, но так и не понял, где он там сами окошки редакторов свойств хранит.
В примере в книге редактор свойства ссылается на модуль с окном и все.
2) Как удалить неправильный редактор свойсва? Его же нельзя отлаживать без регистрации.


 
Юрий Зотов ©   (2005-09-07 22:54) [1]

1. Раз диалог редактора нужен только в design-time, значит и жить он должен только в design-time пакете. Не и в design-time, а только в design-time, и больше нигде. Открываем этот пакет в IDE и самым обычным способом создаем в нем форму диалога. После компиляции пакета DFM будет жить в нем самом (в ресурсах BPL, то есть). Соответственно, задача редактора свойства - поднять этот диалог в методе Edit (поэтому он ссылается на его модуль).

2. Вопрос непонятен. Зачем удалять неправильный редактор? Его не удалять, его отлаживать надо.


 
TStas ©   (2005-09-08 00:34) [2]

>Юрий Зотов
>2. Вопрос непонятен. Зачем удалять неправильный редактор? Его не удалять, его отлаживать надо.
А если сама изначальная идея редактора неверна? У Фаронова написано, что используется последний зарегистрированный редактор, то есть при отладке глючные варианты так и должны оставаться неудаленными?


 
jack128 ©   (2005-09-08 00:47) [3]

TStas ©   (08.09.05 0:34) [2]
то есть при отладке глючные варианты так и должны оставаться неудаленными?

Какие глючные варианты??  Ты что, копируешь весь код редактора в новый пакет, исправляешь глюки и инсталируешь этот пакет в среду?? Или ты все таки меняешь код _старого_ пакета?? ;)


 
Юрий Зотов ©   (2005-09-08 00:56) [4]

> TStas ©   (08.09.05 00:34) [2]

Правим глючный вариант и перекомпилируем пакет с редактором. До тех пор, пока не станет безглючным.

Если же редактор нужно выбросить совсем, то убираем его регистрацию (и, если надо, убираем модуль редактора из пакета и из uses других модулей).


 
TStas ©   (2005-09-08 13:44) [5]

>Юрий Зотов
Я, видимо, путанно задал вопрос. Правлитьно 1-й вопрос сформулировать иначе, хотя Вы на него исчерпывающе ответили. Я имел в виду, что сама форма редактора может ведь быть и без dfm а создаваться вся в рантайме. Ведь именно так у Фаронова создается диалог пути к файлу. Тогда ведь модуль формы будет самым обычным модулем.


 
Юрий Зотов ©   (2005-09-09 00:25) [6]

> TStas ©   (08.09.05 13:44) [5]

> Ведь именно так у Фаронова создается диалог пути к файлу.

В книге приведен пример. Но разве в ней сказано, что этот пример показывает единственно правильный способ?

Нет, не сказано. А к примеру и следует относиться как всего лишь к примеру, не более. В частности, для диалога пути к файлу я бы не создавал вообще никаких форм (потому что для этого есть TOpenDialog) - но это не значит, что их нельзя создавать вообще. Можно. Любые. Хоть кодом, хоть с DFM-ником. Кому как нравится.


 
TStas ©   (2005-09-09 15:56) [7]

>Юрий Зотов
Вот потому и спросил. То есть можно сделать полноценную форму, у которой будет переменная, а еще лучше, свойство, того же типа, что и редактируемое. Только как dfm добавлять я все равно не понял. :(


 
Юрий Зотов ©   (2005-09-09 16:28) [8]

> TStas ©   (09.09.05 15:56) [7]
> Только как dfm добавлять я все равно не понял.

Создаете форму в пакете и компилируете его. Все добавится само.


 
TStas ©   (2005-09-09 16:33) [9]

>Юрий Зотов
То есть также, как когда модуль компонента использует другой модуль? Только что так у меня было. Там компонент использовал модуль класса, он сам добавился в пакет, только предупреждение вылезало.



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

Форум: "Компоненты";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.011 c
1-1138918017
Norfolk
2006-02-03 01:06
2006.03.05
Формы в DLL


2-1139979251
Risk
2006-02-15 07:54
2006.03.05
Глюк ADODataSet


2-1140244985
X9
2006-02-18 09:43
2006.03.05
Узнать выбранный принтер


8-1127324360
NightLord
2005-09-21 21:39
2006.03.05
Web-камера


15-1139787417
Евгений_М
2006-02-13 02:36
2006.03.05
Поиск в файлах и замена в них текста





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский