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

Вниз

Создаю объект в initialization, а в юните его не видно   Найти похожие ветки 

 
Cr@zy-EyE ©   (2004-04-14 15:25) [0]

В юните Unit1:
unit Unit1;
interface
 var X, Y: TMyObject;
...
initialization
 X:=TMyObject.Create;
...

Если в Unit1 пишу Y:=X, то в X присваивается nil.
Однако если Unit2:
unit Unit2;
interface
uses Unit1, ...
...
В нем Y:=X работает. Почему не работает первый вариант? Заранее спасибо.


 
Тимохов ©   (2004-04-14 15:26) [1]

порядок инициализации юнитов играет роль


 
Cr@zy-EyE ©   (2004-04-14 15:33) [2]

X и Y описаны в Unit1, но доступны только в Unit2, хотя X создается в Unit1


 
Amoeba ©   (2004-04-14 15:35) [3]

В каком порядке Unit1 и Unit2 прописаны в Uses того модуля, где они используются?


 
Тимохов ©   (2004-04-14 15:35) [4]


> Если в Unit1 пишу Y:=X, то в X присваивается nil.

Вот это вы где пишете?


 
Cr@zy-EyE ©   (2004-04-14 17:11) [5]

1. Unit2 использует Unit1
2. Пишу Y:=X в процедурах соответствующих юнитов


 
Тимохов ©   (2004-04-14 17:21) [6]


> Если в Unit1 пишу Y:=X, то в X присваивается nil.

почему вообще в x дожно что-то присваиваться.

ничего не остается как требовать хоть и схематического, но все же более полного кода.


 
Cr@zy-EyE ©   (2004-04-14 17:29) [7]

Провел следующий эксперимент. Добавил WATCH на X, пошагово выполняю, зашел в секцию initialization, выполнил
 X:=TMyObject.Create;

Теперь X=$...(адрес), после выхода из initialization X=nil. X становится равным $... только внутри процедуры из Unit2, который первый поюзал Unit1, после выхода и внутри процедур Unit1 X=nil.


 
Тимохов ©   (2004-04-14 17:34) [8]


> Cr@zy-EyE ©   (14.04.04 17:29) [7]

не может быть такого.

у вас другого x того же типа нигде нет? Может он мешатеся...
Вернее даже так - ищите другой X - он есть, это точно...


 
Cr@zy-EyE ©   (2004-04-14 17:43) [9]


>Тимохов ©   (14.04.04 17:34) [8]
> ищите другой X - он есть, это точно...

 Нашел, все прекрасно! Такая глупая ошибка!!! Спасибо всем



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
14-1081473778
новичок_из_сыктывкара
2004-04-09 05:22
2004.05.02
установка компонентов


3-1081194388
Mirror
2004-04-05 23:46
2004.05.02
DBGrid


7-1079237234
$tranger
2004-03-14 07:07
2004.05.02
Запись звука через микрофон


4-1078194563
Сергей Петров
2004-03-02 05:29
2004.05.02
Нехватка ресурсов под Win98.


9-1069480497
Агент Смит [8]
2003-11-22 08:54
2004.05.02
Текстура из нескольких бмп. OpenGL