Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.18;
Скачать: CL | DM;

Вниз

Пакет   Найти похожие ветки 

 
sergeyst ©   (2007-01-29 16:45) [0]

В пакете пишу

initialization
 RegisterClass(TForm1);

загружаю:
var
 Form: TForm;
 FormClass: TFormClass;
 Hand: HModule;
begin
 Hand := LoadPackage("Package1.bpl");
 if Hand > 0 then
 begin
   FormClass := TFormClass(GetClass("TForm1"));
   if Assigned(FormClass) then
   begin
     Form := FormClass.Create(self);
     Form.Show;
   end;
 UnloadPackage(Hand);
 end;
end;
пакет загружается, класс - нет. Где я не то делаю?


 
Сергей М. ©   (2007-01-29 16:47) [1]

Build With Run-Time Packages = True ?


 
sergeyst ©   (2007-01-29 16:56) [2]

да


 
sergeyst ©   (2007-01-29 16:57) [3]


> Сергей М. ©   (29.01.07 16:47) [1]

т.е. его там вообще нету


 
Сергей М. ©   (2007-01-29 16:58) [4]


> его там вообще нету
>


Где "там" ?

Хост-приложение, использующее пакет времени выполнения, д.б. собрано с этой опцией.


 
sergeyst ©   (2007-01-29 16:58) [5]

вызывающий юнит не знает о его существовании, да, вроде, и не должен бы(так у Кенту написано)


 
Сергей М. ©   (2007-01-29 17:02) [6]


> вызывающий юнит не знает о его существовании


Обязан узнать после RegisterClass, если RTTI-таблица (у вызывающего и вызываемого модулей) общая


 
sergeyst ©   (2007-01-30 08:56) [7]

Хост-приложение
Build With Run-Time Packages = Package1

Form.ShowModal;

После закрытия формы(которая в пакете) выдает Access Violation.
Надо ли делать
finalization
UnregisterClass? Хотя AV и по-любому.


 
Сергей М. ©   (2007-01-30 08:58) [8]


> После закрытия формы(которая в пакете) выдает Access Violation


Что показывает отладчик ?


> Надо ли делать


Не надо.


 
sergeyst ©   (2007-01-30 12:05) [9]


> Что показывает отладчик ?

Если в Дельфи загружен пакет, то все работает, если хост - AV, на последней строке(end;). Потом открывается окно CPU где вместо команд и данных (второй столбец) только ????

Написал:
...
Form.ShowModal;
Form.Free;
так все работает.
Т.е. надо освобождать пакетную форму из хост-прил.? хотя в пакете в OnClose - Action := caFree;

Если
Form.Show;
и UnloadPackage в OnClose хоста, то Form.Free делать не надо. Так и должно быть? Если да, то почему?


 
Сергей М. ©   (2007-01-30 12:28) [10]

Главное правило - ты вправе выгружать пакет лишь ПОСЛЕ того как созданный в пакете объект-форма будет успешно разрушен.



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

Текущий архив: 2007.02.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.044 c
1-1167034804
Opilki_Inside
2006-12-25 11:20
2007.02.18
Отключить окно с CPU


2-1170141750
npr2
2007-01-30 10:22
2007.02.18
Crystal Reports


2-1170189559
alexcoler
2007-01-30 23:39
2007.02.18
автообновление в DBGrid


1-1167209405
IMHO
2006-12-27 11:50
2007.02.18
Математическое прогнозирование спортивного события


2-1170397335
Extar
2007-02-02 09:22
2007.02.18
Системная ошибка под 1sp WinXP