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

Вниз

Как сделать форму и вшить её в DLL?   Найти похожие ветки 

 
Intell   (2004-01-12 14:11) [0]

В общем я только решил этим заняться (т.е. ничего по этой теме не знаю). Я хочу сделать следующее - создать программку(форму), затем каким-то образом поместить её в DLL. Затем из основной (другой) программы осуществить чтение этой программки (формы) и запускать её как ОКНО основной программы. Т.е. я хочу сделать его дочерним окном а не отдельным запущенным приложением. Это возможно? Вот на примере Nortona - все окна содержаться в DLL, а потом вызываються основной программой. Дело вот в чём - я собираюсь создать программу, которая будет состоять из модулей (кусков (DLL)) также как Norton Utilities.


 
alex_***   (2004-01-12 14:17) [1]

http://www.delphimaster.ru/articles/usedll/index.html


 
AbrosimovA   (2004-01-12 14:49) [2]

А что мешает в dll-проекте добавить форму, аналогично как ты это делаешь в exe-проектах.


 
Intell   (2004-01-12 15:20) [3]

Спасибо, alex_***! Почитаю.


 
xli   (2004-01-12 18:24) [4]

В статье, приведенной alex_***, про формы не все так гладко, как излагается.

Если сделать с настройками IDE по умолчанию, то проекты создадутся без пакетов. А это означает, что переменная Application в основном приложении будет своя, а в dll библиотеке своя, с вытекающими отсюда неудобствами и возможными последствиями...

Кстати, ресурсные библиотеки - штука не только любопытная, но и довольно полезная, и на них также стоит обратить внимание.


 
xli   (2004-01-12 18:31) [5]

И, кстати, alex_***, в твоей же конторе мы данные технологии использовали, несколько лет назад...

Что ж... народ ушел, знание утеряно...


 
Intell   (2004-01-12 21:14) [6]

Да, неудобства есть.


 
alex_***   (2004-01-13 10:56) [7]

to [5].
Привет разработчику ВПЦ ))) Респект за проект. До сих пор работает у Кумка. Правда уж больно вы там заморочились. Мы даже целиком перекомпилить не смогли. Я делал доработки по отчетам ВПЦ - пришлось повозиться с развлетвленной иерархией классов. В своих проектах мы отказались от СОМ объектов и сделали подключаемые модули как обыкновенные плагины в DLL, информация о которых хранится в БД.

Кстати, какие секретные знания унес с собой народ и какие особые технологии использовали? Поделись, и мы тоже их с собой унесем в свое время :))


 
xli   (2004-01-13 11:05) [8]

Вот тут несколько ссылок на статьи по теме:
http://www.citforum.ru/programming/digest/dlldelphi.shtml
(существует мнение что кроме Application надо бы еще передать переменную Screen)
http://www.rsdn.ru/article/Delphi/repuseforms.xml
http://delphi.vitpc.com/treasury/actionlistdll.htm

И еще подборочка статей по dll:
http://www.delphiworld.narod.ru/files.html


 
alex_***   (2004-01-13 11:12) [9]

если ты про DLL, то бог с ними... На том уровне на каком мы с ними работаем, я о них знаю достаточно. Тем более что компилим с динамической загрузкой пакетов.

За ссылки все равно спасибо. Будет время - посмотрю.

p.s. Ссылку я привел первую что попалась по теме.


 
jack128   (2004-01-13 11:31) [10]


> Если сделать с настройками IDE по умолчанию, то проекты
> создадутся без пакетов. А это означает, что переменная Application
> в основном приложении будет своя, а в dll библиотеке своя,
> с вытекающими отсюда неудобствами и возможными последствиями...

гм. Статическая компиляция(или как она называется?? В общем без ран тайм пакетов) не есть причина того, что >>переменная Application в основном приложении будет своя, а в dll библиотеке своя<< В каждом приложениии будет своя переменная Application. Другое дело, что Application.Handle доступен для записи..


 
xli   (2004-01-13 11:52) [11]

Причина в том, что переменная Application описана в модуле Forms. А при компиляции без run-time пакетов, соответсвующий код вставляется и в приложение и в dll библиотеку. И при запуске имеем две переменные. Если же указать vcl в списке пакетов проектов, то код будет разделен между приложением и библиотекой и переменная останется одна.

> Application.Handle доступен для записи..
ну так и саму переменную Application в dll-ке переписать никто не запрещает.


 
Intell   (2004-01-13 15:36) [12]

Фух... Если бы вообще не разбирался в Delphi, то смотрел бы на это, как на китайский язык...



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

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

Наверх





Память: 0.47 MB
Время: 0.007 c
1-72719
volser
2004-01-08 21:01
2004.01.23
popup menu in TWebBrowser


3-72647
oss
2003-12-26 12:11
2004.01.23
импорт данных


4-72966
Zorrow
2003-11-20 09:55
2004.01.23
Выполнение функции


14-72901
Volkov
2003-12-30 18:18
2004.01.23
Как быстрее копировать файл?


1-72836
Adil Aliyev
2004-01-12 11:02
2004.01.23
Картинка в ListBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский