Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];

Вниз

Создание приложений с использованием DLL   Найти похожие ветки 

 
vtur   (2009-11-10 19:38) [0]

Доброго дня, уважаемые коллеги!
Возможно кто-то сможет помочь в разрешении проблемы.
Я столкнулся с необходимостью оформления некоего, ранее разработанного в среде Делфи 7, функционала  с визуальными компонентами в виде DLL-модуля для использования в другой среде разработки. Функционал оформлен как Фрейм, который
должен "ложиться" в нужное место (окно) основного приложения, например, на элемент TPanel. Handle окна передается функции инициализации функционала  из основного приложения

type
 TVCFrame = class(TFrame)
:
FPVControl:TPanel;
mFr:TVCFrame;
:
TVCInterface.InitStructWindows(HOwner:THandle);
begin
   FPVControl:=FindControl(HOwner) as TPanel;
   if(FPVControl<>Nil)then
     mFr:=TVCFrame.Create(FPVControl);
:

Так вот, при тестировании DLL в (Делфи 7)-приложении фрейм фукционала почему-то не создается.
В чем может быть причина?
Подскажите, как правильно создавать такие объекты.

DLL без визуальных компонент или вызываемых как модальные окна я успешно создаю и использую уже достаточно давно,
а вот с разработкой DLL, фрейм (визуальные компоненты) которой должен "ложиться" в нужное место (окно) основного приложения, столкнулся впервые.


 
Сергей М. ©   (2009-11-10 19:45) [1]


> для использования в другой среде разработки.


Какой нафих TPanel в другой среде разработки, если это не BCB ?
Головой надо думать, а не шапку носить.


 
palva ©   (2009-11-10 20:13) [2]

ActiveX надо создавать. Но это много переделывать.


 
vtur   (2009-11-11 10:41) [3]

Сергею М.
Другая среда разработки - это Делфи 6, TPanel там имеется.
Кроме того, я указал, что тестирую DLL в (Делфи 7)-приложении.
Конечно же строка

  FPVControl:=FindControl(HOwner) as TPanel;

некорректна.

Но требуется более конструктивное предложение, а не "Головой надо думать, а не шапку носить"


 
Сергей М. ©   (2009-11-11 10:50) [4]


> Другая среда разработки - это Делфи 6, TPanel там имеется


Да мало ли что там еще имеется !
Версии VCL разные, поэтому нет никакой гарантии совместимости одноименных классов.
Это раз.

Экземпляр RTL должен быть единым.
Это два.


 
sniknik ©   (2009-11-11 11:19) [5]

> Это два.
я бы еще три добавил - формам в dll не место!

> Но требуется более конструктивное предложение
> ActiveX надо создавать.
куда уж более конструктивно...


 
Сергей М. ©   (2009-11-11 11:28) [6]


> sniknik ©   (11.11.09 11:19) [5]


Солидарен.


 
Игорь Шевченко ©   (2009-11-11 11:31) [7]


> я бы еще три добавил - формам в dll не место!


При грамотном написании - вполне себе место. Не надо быть более правоверным, чем Аллах


 
RWolf ©   (2009-11-11 11:44) [8]

Я делаю так:
procedure AttachConfig(hParent:THandle);
begin
 frmConfig:=TfrmConfig.CreateParented(hParent);
 frmConfig.Left:=0;
 frmConfig.Top :=0;
 frmConfig.Show;
 Application.InsertComponent(frmConfig);
end;


 
sniknik ©   (2009-11-11 11:46) [9]

> При грамотном написании - вполне себе место.
грамотное написание обеспечивает работу, а не предназначение... Будда. :)


 
Anatoly Podgoretsky ©   (2009-11-11 12:15) [10]

> sniknik  (11.11.2009 11:46:09)  [9]

Грамотное написание может обеспечить работой на много лет.


 
vtur   (2009-11-11 12:23) [11]

Большое спасибо RWolf - Ваши 8 строчек кода помогли больше,
чем все досужие рассуждения "знатоков"!
Все получилось!


 
Сергей М. ©   (2009-11-11 12:27) [12]


> чем все досужие рассуждения "знатоков"


Ждут тебя грабли с этим кодом, большие и малые)


 
Dennis I. Komarov ©   (2009-11-11 12:32) [13]


> Ждут тебя грабли с этим кодом, большие и малые)

А разве без них кто-нить становился на путь истинный?


 
Дмитрий Белькевич   (2009-11-11 12:41) [14]


> При грамотном написании - вполне себе место. Не надо быть
> более правоверным, чем Аллах


+1. Нормально в длл формы работают.


> Ждут тебя грабли с этим кодом, большие и малые)


У каждого свой путь к просветлению ;)


 
Сергей М. ©   (2009-11-11 12:43) [15]

Кто предупрежден, тот вооружен)


 
Anatoly Podgoretsky ©   (2009-11-11 13:09) [16]


> А разве без них кто-нить становился на путь истинный?

Некоторым нужно очень много граблей.


 
Anatoly Podgoretsky ©   (2009-11-11 13:10) [17]

> Сергей М.  (11.11.2009 12:43:15)  [15]

Но твои советы и замечания явно остались непонятыми и были отвергнутыми.


 
Dennis I. Komarov ©   (2009-11-11 14:12) [18]


> Но твои советы и замечания явно остались непонятыми и были
> отвергнутыми.

Значит будет больно...



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

Форум: "Начинающим";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.009 c
2-1257928226
1987
2009-11-11 11:30
2009.12.27
Handle s


2-1257755267
night_light
2009-11-09 11:27
2009.12.27
не запускается отладчик одного из проектов


1-1231711857
Илья_
2009-01-12 01:10
2009.12.27
Установка собственного шрифта


15-1256379385
DVM
2009-10-24 14:16
2009.12.27
Посоветуйте как лучше поступить.


2-1257865044
monyk
2009-11-10 17:57
2009.12.27
Время в delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский