IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Окна из dll, Проблема при закрытии
сообщение
Сообщение #1


Гость






Всем доброго времени суток!
Прошу помощи, вот сама проблема....
Пиши прогу...В ней много форм. Я созжал dll в ней находяться все эти формы...При этом я пользовался советом из DRKB Если точнее то вот он сам:
Цитата


library Form;
uses
Classes,
Unit1 in 'Unit1.pas' {Form1};
exports
CreateMyForm,
DestroyMyForm;
end.


Это его Unit1:

unit Unit1;
interface
// раздел uses и определение класса Form1
procedure CreateMyForm(AppHandle: THandle); stdcall;
procedure DestroyMyForm; stdcall;

implementation
{$R *.DFM}

procedure CreateMyForm(AppHandle: THandle);
begin
Application.Handle := AppHandle;
Form1 := TForm1.Create(Application);
Form1.Show
end;

procedure DestroyMyForm;
begin
Form1.Free;
end;


end.

Это UnitCall вызывающего EXE-шника:
unit
UnitCall;
interface
// раздел uses и определение класса Form1
procedure CreateMyForm(AppHandle: THandle); stdcall; external 'Form.dll';
procedure DestroyMyForm; stdcall; external 'Form.dll';

implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
CreateMyForm(Application.Handle);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DestroyMyForm;
end;
end.



Единственное отличае состоит в том, что у меня не одна форма, ну и имена другие...
Вот проблема в том, что если я к примеру вызову функция CreateMyForm (как в примере)б то при закрытии приложения у меня возникает ошибка типа: обрашение к памяти :адрес: не может быть read, в этом роде...
Собственно как грамотно реализовать загрузку и выгрузку фом из dll?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


Цитата(=Гость= @ 3.12.2007 14:08) *
Всем доброго времени суток!
Прошу помощи, вот сама проблема....
Пиши прогу...В ней много форм. Я созжал dll в ней находяться все эти формы...

Два вопроса.
1) Зачем тебе dll? Планируется экспортировать функционал в другие приложения?
2) Почему бы не оставить формы в исполняемом файле?


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.11.2020 9:33
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name