Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

Событие формы   Найти похожие ветки 

 
veb   (2003-05-21 13:56) [0]

Коллеги, подскажите как получить в инспекторе объектов новое событие для формы, т.е.

Property OnInit: TNotifyEvent read FOnInit write FOnInit;

Как и где нужно регистрировать такую форму?


 
Paladin ©   (2003-05-21 14:32) [1]

Ты имеешь ввиду:
Как создать класс, наследник от TForm так, чтобы при просмотре его свойсив и событий в Object Inspector, отображались новые добавленные тобой в раздел published свойства и события?


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

RegisterCustomModule(TMyForm, TCustomModule);

Или еще лучше - скачайте и инсталлируйте себе эксперт CCPack5 от Сергея Орлика:
http://www.geocities.com/sergey_orlik/index.html


 
veb   (2003-05-21 16:03) [3]

to paladin
совершенно верно!

то Юрий Зотов
[Error] Unit1.pas(28): Undeclared identifier: "RegisterCustomModule"
В helpe и в модуле Classes не найдено!

Спасибо.


 
MBo ©   (2003-05-21 16:06) [4]

dsgnintf.pas


 
Юрий Зотов ©   (2003-05-21 16:33) [5]

> veb (21.05.03 16:03)

В Delphi есть поиск строки в файлах. Не пробовали? Зря.


 
veb   (2003-05-21 17:05) [6]

to MBo
небольшая корректировка: в D7 это модуль DesignIntf.pas

Однако, я все еще не справился с проблемой.

1. TCustomModule - не найден, заменил на TBaseCustomModule, чувствую, что сделал глупость. Вообщем нужна ваша помощь. Может я где-то в Helpe могу найти, в каком разделе?

2.
procedure Register;
begin
RegisterCustomModule( TForm1, TBaseCustomModule);
end;

Код отработал, но никаких новых свойств!


 
Skier ©   (2003-05-21 17:10) [7]

Скачай CCPack5. Посмотри исходники.
Help-а по RegisterCustomModule - нет, по крайней мере в D5.
В D7 не знаю...


 
Юрий Зотов ©   (2003-05-21 17:19) [8]

Надеюсь, новое свойство объявлено в published?


 
Юрий Зотов ©   (2003-05-21 17:22) [9]

Упустил из виду - новые свойства должны появиться в НАСЛЕДНИКАХ TForm1, а не в ней самой.


 
veb   (2003-05-21 17:28) [10]

то Юрий
Действительно не пробовывал, но теперь все в порядке кроме одного моя программа отработала но нужного мне события я получить не могу, где появляется моя форма. Откуда наследовать остальные.

Uses Unit1, Forms, DesignIntf, DesignEditors, TypInfo, Windows, SysUtils, Classes;
RegisterCustomModule( TForm1, TCustomModule);


 
Юрий Зотов ©   (2003-05-21 17:37) [11]

> Откуда наследовать остальные

От той формы, класс которой Вы зарегистрировали:
TForm2 = class(TForm1)

В uses модуля с TForm2 должен быть прописан модуль с TForm1.


 
veb   (2003-05-21 17:40) [12]

то Юрий
я ожидал, что моя форма появится в репозитарии. Тогда подскажите еще, пожалуйста, как внести новую форму в репозитарий.


 
Юрий Зотов ©   (2003-05-21 17:48) [13]

> как внести новую форму в репозитарий.
Правой кнопкой мыши.

Предвидя следующий вопрос:

Если на этой форме есть компоненты и она зарегистрирована через RegisterCustomModule, то в ее наследнике новые свойства появятся, а вот все компоненты, увы, исчезнут.

По этому поводу потребуется класть предков в пакет. См. сюда:
http://delphimaster.net/view/15-1053007120/


 
veb   (2003-05-21 18:07) [14]

ДА жизнь интересная штука!

Всем спасибо, отдельная благодарность Юрию Зотову.



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

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
1-2866
BJValentine
2003-05-21 19:43
2003.06.02
FindFirst


1-2886
123456
2003-05-22 16:36
2003.06.02
ShellExecute


14-3163
Дмитрий К.К.
2003-05-15 05:43
2003.06.02
Именинники 15 мая


14-3129
гончий
2003-05-14 16:20
2003.06.02
Кто-нибудь реально использует от TurboDb?


3-2742
Непоседа
2003-05-13 09:56
2003.06.02
Как обойти пароль на файле данных типа *.db?