![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Igel |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 29.8.2002 Репутация: нет Всего: нет |
Народ, подскажите, может кто сталкивался, как можно в Дельфе создать OCX-компонент. И вообще что это такое, что необходимо?
|
|||
|
||||
stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 14 Всего: 48 |
Для Delphi 6:
1. Пишеш обычный VCL-компонент и добавляеш его в палитру компонентов. 2. File->New->Other->ActiveX->ActiveX Control 3. VCL Class Name = твой VCL-компонент 4. остальное понятно -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
Igel |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 29.8.2002 Репутация: нет Всего: нет |
Во-первых, у меня Дельфа 5.5
Во-вторых, мой компонент почему-то не виден в списке VCL Class Name В-третьих, не понятно, что дальше!! |
|||
|
||||
stab |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 14 Всего: 48 |
все то ж самое тока менюшки другие
Component->Install Component... или сразу при содании VCL компонента нажать Install.
А чего дальше-то, если у тя VCL компонент полностью написан, то ни чего дальше делать и не надо. В ActiveX компоненте будет реализовано все, что ты сделал для VCL. Если тебе не понятно как писать VCL компоненты, то лучше купи книгу, на форуме этому толком не научишся. -------------------- 6, 6, 6 - the number of the beast. |
||||||
|
|||||||
Igel |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 29.8.2002 Репутация: нет Всего: нет |
Ладно, может ты не понял, но поясню подробнее:
1. создаю VCL-компонент, по образу готового и хочу его отдать коллеге, который работает в Басике, и ему он нужон ввиде OCX. Как говорится, Ежу понятно... 2. Значит так, он у меня есть (VCL-компонент) и работает. Я хОчу его в OCX преобразовать. Жму File - New... - ActiveX, в списке ActiveX Control. Затем Ок! 3. Появляется оконце - "ActiveX Control Wizard". Но в списке VCL Class Name нету моего компонента. Как впрочем и того, по образу и подобию которого я делал свой. Наверное в последнем и загвоздка. Не все VCL-компоненты можно преобразовать в OCX. Так или еще что-то забыл? Если так, то в чем загвоздка, что нужно ![]() |
|||
|
||||
FinAlex |
|
|||
Unregistered |
Создай ocx от TPanel и в конструкторе налепи на на эту панель че хошь, например экземпляр своего класса. может заработает...
|
|||
|
||||
Cashey |
|
||||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
Разовью тему проблемы
ОК. Этап пройден. Дальше остается только откомпилировать проект и тут начинается....: 1. В автоматически созданном Delphi модуле ***Impl1 в секции initialization прописывается
Но никакого Class_MyControlX в природе не существует. 2. Ругается на несовместимость типов TStrings и IStrings. Об этом я уже писал Потом может и еще чего-то вылезит. Для начало может кто-то сможет разъяснить проблему под пунктом 1 -------------------- библия учит любить ближнего, а камасутра обучает как именно |
||||
|
|||||
Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
Хотя.... базовый клас StringGrid к примеру, откомпилировался нормально....
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Это сообщение отредактировал(а) Yanis - 25.10.2006, 10:19 |
|||
|
||||
Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
из стандартной кнопки создается, проверено, а вот из пользовательского (работающего) компонента - нет ![]() Конкретный пример описал здесь -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Прочитал в справке, что для того что бы кастомный компонент можно было использовать в ActiveX wizard-е, нужно регистрировать компонент в среде при помощи RegisterNonActiveX. Точнее, использовать её после RegisterComponents в процедуре Register. У меня так и не получилось заставить появиться мой компонент в Wizard-е ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |