Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Есть ли в CodeGear визуальный редактор компонент?


Автор: ZVano 13.6.2011, 18:50
Вопрос: Есть ли в CodeGear визуальный редактор компонент, подобный тому, что используется при редактировании форм и фреймов?

Понадобилось несколько компонент написать. Думаю, фигня задача - в Visual Studio на C# уже делал (легко и удобно).  Набросаю на заготовку, расширю функционал и готово.
Облом подкрался незаметно... визуального редактора я не нашел.
Похоже, в CodeGear 2010 компоненты пишутся ВРУЧНУЮ!!! Это полный абзац.
Вобщем, прошу указать ошибаюсь я или нет.

Автор: ZVano 13.6.2011, 20:14
Нашел обходной путь.
1. Создаю пакет.
2. Создаю в пакете фрейм.
3. 
3.1 Удаляю из CPP объявление переменной - указатель на мой фрейм
Код

 TMyFrame * myFrame;

3.2 Удаляю из H-файла строку с декларацией внешней переменной
Код

EXTERN PACKAGE TMyFrame * myFrame;

3.2Помечаю класс фрейма как class PACKAGE
Код

class PACKAGE TMyFrame : public TFrame{
...
}

4. Добавляю в файл CPP процедуру регистрации фрейма, как компонента
Код

namespace Tmyframe{
  void __fastcall PACKAGE Register(){
  ...
  }
}


Усе. Можно регить компонент. Он появляется на закладке.
Фрейм редактируется в визуальном редакторе.
Кидаем компонент на форму - получаем экземпляр, который является единым компонентом, а не фреймом.
Меняем в фрейме-источкике, компилим... тут же меняется вид на формах, в которых этот компонент используется.

А теперь вопрос №2: Зачем этот онан*зм, если можно было сделать стандартный механизм?

PS: Приатачил тестовый проект для демонстрации того, что изврат сработал.

Автор: ZVano 14.6.2011, 10:33
Вот ядрен-батон... при использовании фреймов, как базы для компонента, в наследниках визуальный редактор недоступен.
Эта идиотская IDE меня уже закумарила.

Автор: Alexey91 18.6.2011, 06:44
 smile 

Автор: _Dimon_ 20.6.2011, 07:51
Цитата(ZVano @  14.6.2011,  10:33 Найти цитируемый пост)
Эта идиотская IDE меня уже закумарила.


А если ты динамически создал компонент в одном куске кода (любой, пусть будет твой фрейм), то как ты собрался обращатся к нему в другом куске?

Автор: ZVano 20.6.2011, 09:09
Цитата(_Dimon_ @  20.6.2011,  07:51 Найти цитируемый пост)
А если ты динамически создал компонент в одном куске кода (любой, пусть будет твой фрейм), то как ты собрался обращатся к нему в другом куске?

Не понял вопрос. Перефразируй пожалуста.

1. Как собираюсь использовать в приложении свой компонент? - Так же, как и другие компоненты.
2. Как собираюсь настраивать в дизайнтайме? - Так же, как и другие компоненты.
3. Другой вопрос? - Другой ответ.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)