Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.03.2010, 03:20
Bulbo Bulbo вне форума
Прохожий
 
Регистрация: 27.03.2010
Сообщения: 2
Репутация: 10
Сообщение Компоненты из DLL

Перерыл Google, форумы и т.д.

Проблема в создании компонентов из DLL.

Создаю форму из длл примерно так:

PHP код:
function CreateTheFormPointer;
begin
 Result 
:= TForm1.Create(nil);
end;

function 
ShowTheForm(PPointer): Boolean;
const
  
mrOK 1;
begin

  Result 
:= TForm1(P).ShowModal mrOK;
end;

 
ShowTheForm(CreateTheForm); 


Вроде все тип топ "Создалась, проявилась"...

создаю компонент где то так:

PHP код:
CoInitializeEx(nil,COINIT_APARTMENTTHREADED);
RdpDoc.Rdp:= TMsRdpClient3.Create(Form1);
RdpDoc.Rdp.Parent:=  Form1;
RdpDoc.Rdp.Left:=10;
RdpDoc.Rdp.Top:=10;
RdpDoc.Rdp.Visible:=True;
RdpDoc.Rdp.Tag:=0;
RdpDoc.Rdp.Server:='192.168.1.1';
RdpDoc.rdp.UserName:='111';
RdpDoc.rdp.AdvancedSettings4.Set_ClearTextPassword('111');
RdpDoc.rdp.Connect


в ЕХЕ все отлично а вот в длл как то не получилось.... (Форма виснет при создание RDP компонента).

Если в длл вызвать форму так:

PHP код:
Application.Initialize;
  
Application.CreateForm(TForm1Form1);
  
Application.Run

то компонент RDP создаеться но при попытки вызова функции Connect виснет аналогочно первому варианту.

Перечитал все, видел такую же проблему и с TWebBrowser...

По теме нашел: http://www.sql.ru/forum/actualthread.aspx?tid=106803

у парня таже проблема ну думаю это не из за самого компонента, есть какой то подводный камень в этой жуткой мути...


Задача: Адекватно работать с компонентами из DLL. Накидайте ссылок, может кто то тоже сталкивался с этим. Заранее спасибо.
Ответить с цитированием
  #2  
Старый 27.03.2010, 04:41
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Батенька, хотите адекватно работать с компонентами из DLL - эзайте COM (у Тенцера есть отличная книжка).
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #3  
Старый 27.03.2010, 06:51
Bulbo Bulbo вне форума
Прохожий
 
Регистрация: 27.03.2010
Сообщения: 2
Репутация: 10
Счастье

Цитата:
Сообщение от Aristarh Dark
Батенька, хотите адекватно работать с компонентами из DLL - эзайте COM (у Тенцера есть отличная книжка).


Уважаемый модератор форума delphisources.ru очень признателен вам за помощь. Но только если бы я хотел почитать книжку много уважаемого Тенцера я наверно прочитал бы ее без обращения к вашему форуму.

Ну и по скольку вы так настоичиво советуете ее прочитать я думаю она вам очень понравилась, и вы все поняли по вопросу интерфесов COM, ну и конечно можете с удовольствием нам смертым новичкам расказать как это все красиво сделать. Я думаю форумы именно для этого и создаються? ну что бы люди помогали друг другу! или это рекламный проект дяди Тенцера по продажи его полиграфической продукции?

Покажите пример кода создания TForm из DLL а так же создание в ней TWebBrowser и вызов события navigate.



П.С. Очень признателен что модераторы форума первыми откликнулись на мой весьма не легкие вопросы, надеюсь на их проффесионализм....
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:11.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025