Форум: "Основная";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизСоздаю объект в 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.042 c