Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с формой из библиотеки (dll) [D7, XP]


Alexdeil ©   (2007-06-23 17:10:00) 

Есть библиотека:

library listrk;
uses
 ShareMem,
 SysUtils,
 Classes,
 unit1 in 'unit1.pas' {Form1};

{$R *.res}

procedure ShowMyForm (AOwner:TComponent);
var MyForm:TFormSAOKIS;
begin
MyForm:=TFormSAOKIS.Create(AOwner);  
MyForm.Show;
end;

exports ShowMyForm;

begin
end.

Вопрос: форма Form1 появляется, но работать с ней невозможно, при нажатии кнопки на форме генерируется ошибка "Access violation at address 004B4BD8 in module 'listrk.dll'. Read of address 0000025C".
Как самостоятельное приложение проект с Form1 функционирует без проблем.

Подскажите в чем дело или посоветуйте, где почитать по этой теме.


Amoeba   (2007-06-25 11:06:00) [1]

А еще лучше вообще не заморачиваться с формами в Dll. Граблей на этом пути изрядно.


Loginov Dmitry   (2007-06-23 18:26:00) [2]

В опциях проектов (и exe и dll) поставь галку "Build with runtime pakages". И тогда ShareMem лучше убрать отовсюду.

Возможно также вместо AOwner указать nil, но это порочный путь, т.к. без пакетов все-равно врядли что путного сделаешь.


Наверх

Титульная страница Поиск, карта сайта Написать письмо