Форум: "Начинающим";
Текущий архив: 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.084 c