Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2008, 18:15   #1
HelloEverybody
Новичок
Джуниор
 
Регистрация: 28.01.2008
Сообщений: 2
По умолчанию Вызов формы внутреннего (dll) ActiveX сервера

Всем привет!
Сделал:
1. Создал проект (File->New->ActiveX Library)
2. Добавил в проект объект COM 'SimpleCOM' (File->New->COM Object)
3. В Type Library Editor добавил новый метод ShowString в интерфейсах этого объекта. Сам метод состоит только из ShowMessage. Все компилируется в dll и вызывается из внешнего приложения (exe). НО!
Никак не получается вызвать форму находящуюся в dll.
Пробовал:
function TSimpleCOM.ShowString(const str: WideString ): HResult;
begin
Form2.Create(nil);
Form2.Show;
end;
В отладчике пропускает эти команды.
Передать Application для вызова Form2.Create(Application) не знаю как, т.к. при определении параметров метода ShowString в Type Library Editor не знаю какой тип указать у данного параметра.
В Интернете найти пока удалось немногое.
Пожалуйста подскажите КАК ВЫЗВАТЬ ФОРМУ находящуюся в dll?
HelloEverybody вне форума Ответить с цитированием
Старый 29.01.2008, 09:22   #2
OrdJONY
.NET-чик
Форумчанин
 
Аватар для OrdJONY
 
Регистрация: 24.03.2007
Сообщений: 569
По умолчанию

Вы не правильно Создаете форму.
Код:
...
Form2 := TForm2.Create(nil);
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок
OrdJONY вне форума Ответить с цитированием
Старый 29.01.2008, 17:25   #3
HelloEverybody
Новичок
Джуниор
 
Регистрация: 28.01.2008
Сообщений: 2
По умолчанию pardon

Цитата:
Сообщение от OrdJONY Посмотреть сообщение
Вы не правильно Создаете форму.
Код:
...
Form2 := TForm2.Create(nil);
Прошу прощения за некорректный код. На самом деле текст выглядит так:

function TEditHierarchy.ViewEditHierarchy: HResult;
begin
MainGraphicForm:=TMainGraphicForm.C reate(nil);
Form1:=TForm1.Create(nil);
Result:=Form1.ShowModal;
end;
Формы вызываются, но на панели задач выделяются отдельно. Мне же нужно чтобы все формы выходили в рамках одного приложения.
Проблема заключается в том, что я не знаю как через метод интерфейса ViewEditHierarchy передать ссылку на приложение-клиент Application (чтобы указать его вместо nil), ведь в Type Library Editor не могу найти подходящего типа для параметра.

Буду благодарен за совет.
HelloEverybody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ActiveX [Smarik] Общие вопросы Delphi 0 02.08.2008 02:42
ActiveX в BDS 9 (2005) Veiron Общие вопросы Delphi 1 31.01.2008 06:58
ActiveX компоненты newd Компоненты Delphi 2 21.01.2008 08:33
ActiveX in BDS 2006 delphi_beginner Компоненты Delphi 2 15.06.2007 16:26