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

Вниз

Вызвать редактор сабкомпоненты   Найти похожие ветки 

 
--= Eagle =-- ©   (2006-11-22 14:39) [0]

Как вызвать из своего редактора компоненты редактор выделенной компоненты? После того, как я захожу в редактор главной компоненты, я могу просто выбрать любую комопненту, и теперь мне нужно зайти в редактор сабкомпоненты - я делаю даблклик на нужной компоненте, но только выхожу из редактора главной компоненты. Аналогичного результата добиваюсь если жму правой кнопкой на основной компоненте - да, меню я получаю, но это меню главной компоненты, которая уже не находится в режиме редактирования. Правда, если нажать на клавиатуре кнопку "Меню" - всё гуд, я получаю редактор нужной компоненты.
Но так как компонента у меня всего одна (во всяком случае пока), то думаю достаточно просто вызвать каким-то образом её редактор компоненты. Не подскажете, как это сделать?


 
--= Eagle =-- ©   (2006-11-22 15:05) [1]

Кстати, вдогонку: почему-то не сохраняется внутренняя компонента. Хотя она и зарегистрирована в панели компонент, а также я сделал для неё то же, что и здесь: http://delphimaster.net/view/5-1163604047/ советовал DimaBr.


 
DimaBr   (2006-11-22 15:44) [2]

1. поробуйте Designer.Edit(Component) или что то типа [106] http://delphimaster.net/view/5-1163604047/
 
2. Компонента не сохраняется по разным причинам, кои вы не указали.
(Каким образом вы создаёте втроенные компонент, каки образом пытаетесь сохранить.....). Повторяю ещё раз - возьмите за основу тот код и не мучайтесь. Регистрация нужна потому что на момент создания компоненты (при чтения из ресурса DFM) должен быть зарегистрирован её класс в системе.


 
--= Eagle =-- ©   (2006-11-22 16:34) [3]

1. Спасибо, это помогло

2. Да там указывать нечего. Всё, что я сделал для того, чтобы оно сохранялось - в юните-рагистраторе в initialization прописываю RegisterClass(TMyClass), а в классе самой компоненты добавляю FRegister: Boolean, в конструкторе после inherited добавляю:
if not FRegister then
begin
  fRegister:= true;
  RegisterClass(TMyClass);
end;


 
--= Eagle =-- ©   (2006-11-22 16:43) [4]

Хотя нет, второй вопрос явный оффтоп и я уже понял, что был неправ :) Спасибо за помощь ещё раз!


 
DimaBr   (2006-11-22 16:45) [5]


>  что я сделал для того, чтобы оно сохранялось

Это не для того чтобы сохранялось, а для того чтобы не выскакивало сообщение "Class not found"
Чтобы сохранять нужно GetChildren переписать


 
DimaBr   (2006-11-22 16:47) [6]


> в юните-рагистраторе в initialization прописываю RegisterClass(TMyClass)

Не в юните-регистраторе, а в юните с описание компонента



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

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

Наверх





Память: 0.46 MB
Время: 0.039 c
15-1194973607
Cerberus
2007-11-13 20:06
2007.12.16
Статья или Исходник про архивацию в формате zip.


2-1195232737
Nightmare
2007-11-16 20:05
2007.12.16
UpdateLayerWindow


2-1195715338
Parus
2007-11-22 10:08
2007.12.16
DNS cepвep


2-1195595872
azl
2007-11-21 00:57
2007.12.16
Table1.Filter


2-1195404780
Арсен
2007-11-18 19:53
2007.12.16
Свой компонент Grid, наследуемый от TStringGrid





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