![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Программа + пакет = AV при инициализации. Наоборот все Ок...
Kolan © (2007-02-16 13:15:00)Здравствуйте,
Есть программа(Имя: "А") и пакет(Имя: "Б").
В программе стоит Build with run time packages. И указан пакет "Б".
В пакет есть модуль:
unit KPluginManager;
interface
uses
Classes;
type
TClassManager = class(TList);
function ClassManager: TClassManager;
implementation
var
Manager: TClassManager;
function ClassManager: TClassManager;
begin
Result := Manager;
end;
initialization
Manager := TClassManager.Create;
finalization
Manager.Free;
end.
Запускаю приложение - получаю AV тут:
begin
Application.Initialize;
Если у пакета указать Host application этоже приложение и запустить - все Ок.
В чем дело?
Рамиль (2007-02-16 14:51:00) [1]
> А вот между прочим в Search path если указать папку с пакетом,
> а из самой папки проекта стереть, то таже история - AV.
> .
Так это, search path для делфи, а exe откуда про него знать должен?
А PATH это системная переменная.
Kolan (2007-02-16 14:34:00) [2]А вот между прочим в Search path если указать папку с пакетом, а из самой папки проекта стереть, то таже история - AV..
Kolan (2007-02-16 13:45:00) [3]> [7] Сергей М. © (16.02.07 13:40)
>
> > Пакет видимо должен лежать в папке с проектом
>
>
> Необязательно, но достаточно.
> Пакет должен лежать по любому из стандартных путей поиска
> либо по любому из указанных в SET PATH
Понятно теперь...
Сергей М. (2007-02-16 13:40:00) [4]
> Пакет видимо должен лежать в папке с проектом
Необязательно, но достаточно.
Пакет должен лежать по любому из стандартных путей поиска либо по любому из указанных в SET PATH
Сергей М. (2007-02-16 13:38:00) [5]Значит проблемы - в "Б"
Kolan (2007-02-16 13:38:00) [6]Пакет видимо должен лежать в папке с проектом. Если так сделать - работает.
Kolan (2007-02-16 13:35:00) [7]В программе стоит Build with run time packages
Если убрать, то все ок.
Kolan (2007-02-16 13:22:00) [8]
-->begin
Application.Initialize;
Следующий шаг - AV. Узнал проходясь отладчиком. Более того я даже точку не ставил при F9 среда сама остановилась на begin.
Сергей М. (2007-02-16 13:20:00) [9]
> Запускаю приложение - получаю AV тут:
> begin
> Application.Initialize;
Откуда узнал, что именно тут ?
Kolan (2007-02-16 13:16:00) [10]В Call stack написано:
:7c816d4f kernel32.RegisterWaitForInputIdle + 0x49
Что это значит я незнаю :(