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

Вниз

Новые свойства...   Найти похожие ветки 

 
Aga   (2003-05-15 17:58) [0]

Имеется иерархия форм, помещенная в репозиторий. У некоторых из этих форм имеются
добавленные свойства в published секции. Как сделать эти проперти видимыми инспектору для визуальной установки ?
Эти свойства вообще не видны, хотя, естественно, доступны и работают


 
MBo   (2003-05-15 18:00) [1]

ccpack Сергея Орлика


 
Mike_Goblin   (2003-05-15 18:49) [2]

или разобраться с RegisterCustomModule


 
Юрий Зотов   (2003-05-15 20:16) [3]

Увы, должен заметить, что не все так просто. Если речь идет о наследовании форм через репозиторий, то, вероятно, имеется в виду не только наследование их классов, но еще и ВИЗУАЛЬНОЕ наследование (то есть, наследование всех компонентов, лежащих на формах-предках). Иными словами, не только о наследовании самих классов, но еще и о наследовании их РЕСУРСОВ.

Так вот - стоит для формы из репозитория вызвать RegisterCustomModule со стандартным TCustomModule (а CCPack именно это и делает), как ВИЗУАЛЬНОЕ наследование "слетает" и форма-потомок получается девственно чистой. Класс, естественно, наследуется прекрасно, а вот ресурсы - нет.

Несколько месяцев назад я это направление копал, причем довольно капитально. Написал свой эксперт (в целом, аналог CCPack, но еще и заливающий на форму-потомок ресурсы ее предков, а также добавляющий модули этих предков к проекту - как при стандартном наследовании через репозиторий).

Все работало прекрасно... за исключением одной "мелочи". Залитые на форму-потомок компоненты IDE воспринимала, как ее СОБСТВЕННЫЕ, а не как унаследованные. То есть, получалось не наследование, а как бы копирование. И ничего поделать с этим мне так и не удалось. Увы.


 
aga   (2003-05-17 17:45) [4]

2Юрий Зотов
Пробовал я TCustomModule но в Д6 и Д7 у меня вилетает ошибочка:(
Немогли бы вы показать пример??


 
Юрий Зотов   (2003-05-17 23:08) [5]

Дык... с визуальным наследованием у меня не получилось, поэтому показывать, в общем-то, нечего. А без визуального - исходники CCPack, куда ж еще лучше? Скачать можно отсюда:
http://www.geocities.com/SiliconValley/Way/9006/index_r.html

Можно пойти таким путем - свои свойства добавляем в формы без ресурсов и регистрируем их через CCPack. А от них плодим формы с ресурсами и помещаем их в репозиторий (без всякой дополнительной регистрации). В проекте наследуемся от этих форм обычным образом. Вот такой путь проходит "на ура", хотя это и не совсем то, что хотелось бы.


 
aga   (2003-05-18 13:10) [6]

Я скачивал CCPack, но мне надо для Д6 или Д7, а там только для Д4


 
Юрий Зотов   (2003-05-18 14:05) [7]

Исходники же есть? Есть. Перекраиваете списки модулей в Uses, компилируете и устанавливате. Насколько помню, там еще будет ругань компилятора насчет Proxies - надо добавить в Required какой-то DCP (об этом есть в хелпе). Стандартный путь. Должно работать.


 
Юрий Зотов   (2003-05-18 14:09) [8]

Да, насчет D4. Видимо, Вы скачивали просто CCPack (Combined Control), а здесь нужен CCPack50 (Custom Container).


 
MBo   (2003-05-19 06:19) [9]

на codecentral.borland.com есть версия для D7


 
aga   (2003-05-19 17:34) [10]

2Юрий Зотов
Спасибо посмотрю...


 
aga   (2003-05-19 17:45) [11]

2Юрий Зотов
а как с вами можно связатся? например по e-mail?


 
aga   (2003-05-19 17:56) [12]

2Юрий Зотов
>>Исходники же есть? Есть. Перекраиваете списки модулей в Uses, >>компилируете и устанавливате. Насколько помню, там еще будет >>ругань компилятора насчет Proxies - надо добавить в Required >>какой-то DCP (об этом есть в хелпе). Стандартный путь. Должно >>работать.
единсвенное что неработает так неопознан тип какой-то переменной :(



 
Mike_Goblin   (2003-05-19 19:17) [13]

2 Юрий Зотов
Note that the IDE won"t allow you to add both published properties and components to a custom module at the same time. The workaround is to create a form with your custom properties in a package, and then have a descendent form in the repository which adds the components you want there by default.

Вот :)



 
Юрий Зотов   (2003-05-19 19:37) [14]

> Mike_Goblin © (19.05.03 19:17)

А жаль. Майк, если не сложно, приведите источник - откуда эта цитата?

Все же эта фанатичная идея меня не оставляет. Если такое не реализовано в "родных" средствах IDE - так ведь она расширяемая... Правда, пока непонятно, что именно надо переписывать и есть ли для него средства регистрации в IDE.


 
vuk   (2003-05-19 19:48) [15]

А если использовать такую вещь, появившуюся в D6, как установка флага csSubComponent? После этого в дизайнере видятся вложенные компоненты и меняются их свойства (правда, только из Object Inspector"а, а не из окна дизайнера). Я пробовал делать компонент из фрейма. Следующего фрагмента кода хватило. :o)


procedure TFrTestComp.AfterConstruction;
var
i : integer;
begin
inherited;
for i := 0 to ComponentCount - 1 do
Components[i].SetSubComponent(true);
end;


 
vuk   (2003-05-19 20:07) [16]

>Я пробовал делать компонент из фрейма.
Не совсем ясно выразился. Фрейм, он, конечно же, и так компонент. :o) Я просто устанавливал его в палитру компонентов. Ну, и, до кучи пытался сделать так, чтобы можно было менять свойства вложенных компонентов.



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

Форум: "Потрепаться";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.008 c
14-13382
EvgeniyR
2003-05-21 10:56
2003.06.05
Помогите с TDBGridEh !!!


4-13523
sosv
2003-04-07 11:56
2003.06.05
Как отлавливать нажатия мыши вне окна моего приложения?


1-13204
Back
2003-05-27 09:36
2003.06.05
Очередность выполнения обработчиков событий от таймера?


3-13081
prof
2003-05-08 08:18
2003.06.05
Считывание данных из ячейки


3-13016
Дмитрий Юрьевич Грицай
2003-05-16 08:14
2003.06.05
Interbase & generator





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