Главная страница
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.045 c
2-1170091537
_newman_
2007-01-29 20:25
2007.02.18
Как узнать путь к директории из которой запущена программа.


2-1169895528
LiteStone
2007-01-27 13:58
2007.02.18
Listbox


15-1170085729
SkySpeed
2007-01-29 18:48
2007.02.18
Подскажите - как настроить UserGate2.8 для разрешения только ICQ?


15-1169735064
Chort
2007-01-25 17:24
2007.02.18
Стоимость кабеля для Интернет


15-1170048208
Александр Иванов
2007-01-29 08:23
2007.02.18
Как получают прибыль сертификационные центры Microsoft