![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Доступ к виз. комп. из других юнитов [D6]
Skywalker © (2002-06-28 12:40:00)Я объявляю в общем юните UnitCom.pas переменную (напрмер ComLab:TLabel)
при активации главного окна присваиваю ей адрес MyLab:TLabel,
которая находится в главном юните UnitCom.ComLab:=MyLab
Впоследствии все действия с переменной ComLab, инициированные
функциями из общего юнита протекаю нормально, НО!
Делаю такую же фигню в BCPP и получаю AV!
Кто знает почему?
Skywalker (2002-06-28 17:11:00) [1]Ну как тогда объявить объект, чтоб он была общий для всех, например, юнитов?
Digitman (2002-06-28 15:14:00) [2]Раз получаешь AV, значит, времена жизни одной и той же переменной различны в обеих этих средах.
Значит, не "такая же фигня" и вообще - не "фигня".
Значит, в BCPP твоя переменная "жила" какое-то время в стеке и была уже "мертва" на момент обращения к ней. В то время как в Delphi та же переменная - статическая и время ее жизни равно времени жизни модуля в АП занрузившего его процесса.
Отсюда и пляши)