Главная страница
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.037 c
15-1169621895
vajo
2007-01-24 09:58
2007.02.18
Ищу файлменеджер


9-1144144001
антонио
2006-04-04 13:46
2007.02.18
[GLScene] Создание объекта


2-1169580356
serko
2007-01-23 22:25
2007.02.18
Зарегистрировать тип файла


15-1169959653
SerJaNT
2007-01-28 07:47
2007.02.18
Шаблонизатор TemplatePower


2-1169900792
Первокласник Вася
2007-01-27 15:26
2007.02.18
Как незакрыть форму по ALT+F4?