| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > готовая форма в dll |
| Автор: Teleport 19.7.2008, 14:14 |
| Пожалуйста помогите разобраться - имеется готовая форма, с набором компонентов, которые взаимодействуют между собой. Как мне ее запихать грамотно в dll. Хочу вызывать эту dll из моего основного приложения. Вот пример основого приложения и формы, которую надо в dll засунуть. |
| Автор: VICTAR 19.7.2008, 14:39 |
| есть в drkb |
| Автор: Teleport 20.7.2008, 18:57 |
| я и в drkb и в DWorld читал и пробовал раз пятьдесят!!!. Но постоянно компилятор не принимает этого! Всегда куча ошибок вылазиет!!! Мне просто нужно показать на моем примере. |
| Автор: THandle 20.7.2008, 19:16 | ||
| Teleport, создаешь Dll. (File->New->Other->Dll Wizard) Сохраняешь её. В dll прописываешь в uses юнит с формой. Создаешь форму. Вот код библиотеки:
Компилируешь её. Дальше в своем приложении загружаешь эту библиотеку(LoadLibrary). И никакие дополнительные проекты не нужны(project1.dpr в папке "форма, которую надо в dll запихнуть"). |
| Автор: Akella 20.7.2008, 22:40 |
| Работай с формами в DLL, как и с обычным проектом. |
| Автор: Teleport 21.7.2008, 13:52 |
| 2 THandle - все получилось! Спасибо!!! Akella - разобрался )))))), спасиб)))))) |
| Автор: Teleport 21.7.2008, 14:51 |
| не могу разобраться со следующим вопросом... Когда я вызываю форму из dll, то пока она открыта - я не могу получить допуск к своему основному приложению. Как сделать чтобы я вызвал из dll форму и мог и сней работать и с основным приложением одновременно? |
| Автор: Qu1nt 21.7.2008, 15:08 | ||||
меняем на
|
| Автор: Teleport 21.7.2008, 15:27 |
| 2 Qu1nt так я сразу попробовал!!! Так вот не хочет так!! Форма тогда сразу исчезает с экрана!! Она грузится (по оперативке смотрел) и исчезает сразу! Может Form1.Free; куда-то перенести?? только вот куда? |
| Автор: Rennigth 21.7.2008, 15:43 | ||
Teleport, форму сделай саморазрушающейся. В OnClose выполни такой код.
Добавлено через 35 секунд Teleport, ну и естественно убери Form1.Free; |
| Автор: Akella 21.7.2008, 21:10 | ||
Конечно, ты ж наверное делаешь
так? прочти о разнице между Show и ShowModal |
| Автор: Teleport 22.7.2008, 15:06 |
| 2 Akella эту разницу я знаю хорошо 2 Rennigth - неа, тоже пробовал... Ошибки возникают. Когда форму из dll вызываю, то сразу "Выполнило недопустимую ошибку. Приложение будет закрыто..." Form1.Free если просто убираю, то сразу ошибки эти лезут... |