Поиск:

Ответ в темуСоздание новой темы Создание опроса
> __property + __published + TForm 
V
    Опции темы
retto
Дата 9.3.2010, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

Репутация: нет
Всего: нет



Пытаюсь создать свойство в Форме, для того чтобы его можно было редактировать через property editor. 
в __published пишу:
Код

__property int Index = {read=index,write=index};


при попытке скомпилить, ошибка:
---------------------------
Error in module MyModule: Incorrect method declaration in class TForm_MyForm.
---------------------------

"гугление" не помогло решить эту проблему. TForm какой-то особенный класс в котором нельзя такое творить??
PM MAIL   Вверх
borisbn
Дата 9.3.2010, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 18
Всего: 135



property Index ты объявил, а переменную int index?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
retto
Дата 9.3.2010, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

Репутация: нет
Всего: нет



borisbn,  smile  конечно )
PM MAIL   Вверх
borisbn
Дата 10.3.2010, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 18
Всего: 135



Тогда весь h-ник - в студию smile


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
retto
Дата 10.3.2010, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

Репутация: нет
Всего: нет



class TForm1 : public TForm
{
__published:    // IDE-managed Components
        __property int Index = {read=index,write=index};
private:    // User declarations
        int index;
public:        // User declarations
        __fastcall TForm1(TComponent* Owner);
};
PM MAIL   Вверх
Alexeis
Дата 10.3.2010, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 26
Всего: 459



retto, попробуйте переменную назвать FIndex и поднять выше объявления __property int Index ;

Предположение №2 Index зарегистрированное имя в VCL (используется в расширениях языка).


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
borisbn
Дата 10.3.2010, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 18
Всего: 135



Цитата(retto @  9.3.2010,  21:29 Найти цитируемый пост)
TForm какой-то особенный класс в котором нельзя такое творить??

Похоже, что да (так же, как и TFrame), потому, что TForm вычитывает свои __published property из dfm-файла. В твоём случае Index не записан в dfm-файле, и не может быть оттуда вычитан.
Из документации BCB5:
Код

The __published keyword specifies that properties in that section are displayed in the Object Inspector, if the class is on the Component palette

Класс TForm действительно нельзя добавить в Component palette.

P.S. Чтобы property отображалось в property editor, необходимо создать свой компонент в составе package и подключить package к IDE. Более или менее подробно механизм описан в справке по BCB в разделе Creating a new component



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
retto
Дата 10.3.2010, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

Репутация: нет
Всего: нет



Цитата(Alexeis @  10.3.2010,  10:53 Найти цитируемый пост)
retto, попробуйте переменную назвать FIndex и поднять выше объявления __property int Index ;

Предположение №2 Index зарегистрированное имя в VCL (используется в расширениях языка). 

к сожалению не то не другое 


borisbn, большое спасибо за информацию. 
З.Ы. как создавать компоненты знаю. В моем случае это не выход.


всем спасибо, тема закрыта

Это сообщение отредактировал(а) retto - 10.3.2010, 12:55
PM MAIL   Вверх
mes
Дата 10.3.2010, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 6
Всего: 250



Цитата(retto @  10.3.2010,  11:54 Найти цитируемый пост)

всем спасибо, тема закрыта

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


--------------------
PM MAIL WWW   Вверх
retto
Дата 10.3.2010, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

Репутация: нет
Всего: нет



mes,
вот статья с полным описание как ЭТО сделать,
Статья
(з.ы. вместо dsgnintf.hpp подключать designintf.hpp).




Это сообщение отредактировал(а) retto - 10.3.2010, 14:09
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0847 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.