Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> готовая форма в dll 
:(
    Опции темы
Teleport
  Дата 19.7.2008, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 5.7.2008
Где: Прибалтика

Репутация: 3
Всего: 6



Пожалуйста помогите разобраться - имеется готовая форма, с набором компонентов, которые взаимодействуют между собой. 
Как мне ее запихать грамотно в dll. Хочу вызывать эту dll из моего основного приложения. 

Вот пример основого приложения и формы, которую надо в dll засунуть.   smile  smile 

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  Projects_for_dll.rar 9,98 Kb


--------------------
user posted image
user posted image 
PM MAIL   Вверх
VICTAR
Дата 19.7.2008, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

Репутация: 37
Всего: 80



есть в drkb
PM MAIL   Вверх
Teleport
Дата 20.7.2008, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 5.7.2008
Где: Прибалтика

Репутация: 3
Всего: 6



я и в drkb и в DWorld читал и пробовал раз пятьдесят!!!. Но постоянно компилятор не принимает этого! Всегда куча ошибок вылазиет!!!
Мне просто нужно показать на моем примере. 


--------------------
user posted image
user posted image 
PM MAIL   Вверх
THandle
Дата 20.7.2008, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



Teleport, создаешь Dll.

(File->New->Other->Dll Wizard)

Сохраняешь её.
В dll прописываешь в uses юнит с формой.

Создаешь форму.

Вот код библиотеки:
Код


library Project2;

uses
  SysUtils,
  Classes, Unit1;

{$R *.res}

begin
  Form1 := TForm1.Create(nil);
  Form1.ShowModal;
  Form1.Free;
end.


Компилируешь её. 

Дальше в своем приложении загружаешь эту библиотеку(LoadLibrary). 

И никакие дополнительные проекты не нужны(project1.dpr в папке "форма, которую надо в dll запихнуть").
PM   Вверх
Akella
Дата 20.7.2008, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Работай  с формами в DLL, как и с обычным проектом.
PM MAIL   Вверх
Teleport
Дата 21.7.2008, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 5.7.2008
Где: Прибалтика

Репутация: 3
Всего: 6



2 THandle -  все  получилось!  smile 
Спасибо!!!  smile 

Akella - разобрался )))))), спасиб))))))  smile 


--------------------
user posted image
user posted image 
PM MAIL   Вверх
Teleport
Дата 21.7.2008, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 5.7.2008
Где: Прибалтика

Репутация: 3
Всего: 6



не могу разобраться со следующим вопросом... 
Когда я вызываю форму из dll, то пока она открыта - я не могу получить допуск к своему основному приложению. 
Как сделать чтобы я вызвал из dll форму и мог и сней работать и с основным приложением одновременно?



--------------------
user posted image
user posted image 
PM MAIL   Вверх
Qu1nt
Дата 21.7.2008, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 13.1.2007

Репутация: 18
Всего: 50



Код

Form1.ShowModal;

меняем на
Код

Form1.Show;

PM MAIL   Вверх
Teleport
Дата 21.7.2008, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 5.7.2008
Где: Прибалтика

Репутация: 3
Всего: 6



2 Qu1nt
так я сразу попробовал!!! Так вот не хочет так!!
Форма тогда сразу исчезает с экрана!!
Она грузится (по оперативке смотрел) и исчезает сразу!
Может Form1.Free; куда-то перенести?? только вот куда?

Это сообщение отредактировал(а) Teleport - 21.7.2008, 15:28


--------------------
user posted image
user posted image 
PM MAIL   Вверх
Rennigth
Дата 21.7.2008, 15:43 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



Teleport, форму сделай саморазрушающейся. В OnClose выполни такой код.
Код

  Action := caFree;


Добавлено через 35 секунд
Teleport, 
ну и естественно убери Form1.Free;


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Akella
Дата 21.7.2008, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Конечно, ты ж наверное делаешь
Код

form1 := TForm1.create(nil);
form1.show;
form11.Free

так?  smile 
прочти о разнице между Show и ShowModal  smile 
PM MAIL   Вверх
Teleport
Дата 22.7.2008, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 5.7.2008
Где: Прибалтика

Репутация: 3
Всего: 6



2 Akella эту разницу я знаю хорошо  smile и этот вариант я сразу отбросил. Только один раз попробовал, для контрольной проверки  smile 
2 Rennigth  - неа, тоже пробовал... Ошибки возникают. Когда форму из  dll вызываю, то сразу "Выполнило недопустимую ошибку. Приложение будет закрыто..."

Form1.Free если просто убираю, то сразу ошибки эти лезут...  smile 


--------------------
user posted image
user posted image 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0585 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.