Консультация № 28144
23.10.2005, 00:02
0.00 руб.
0 8 8
Здраствуйте, уважаемые эксперты! Есть 2 юнита (Unit1 и Unit2). Как сделать, чтобы из второго юнита можно было бы обращаться к переменным первого, а из первого вызывать процедуры второго?

Обсуждение

Неизвестный
23.10.2005, 00:39
общий
это ответ
Здравствуйте, Кириллов Антон Андреевич!

В разделе модулей каждого из юнитов подключаем нужный т.е.

в первом Unit‘e в разделе uses пишем Unit2
во втором точно так же в разделе uses пишем Unit1

Все теперь можешь обращатся к переменным и процедурам любого юнита
Неизвестный
23.10.2005, 01:51
общий
это ответ
Здравствуйте, Кириллов Антон Андреевич!
Подключаешь с помощью директивы uses Unit1 (свои юниты принято подключать отдельно от тех которые подключила автоматически делфи, т.е. после директивы implements). После этого ты видишь все глобальные переменные, процедуры а также публичные члены классов Unit1. Для избежания возможного перекрытия одноименных объектов лучше обрашаться к методу или перемнной из другого юнита Unit1.Variable1, т.е. имя юнита точка имя переменной или процедуры.
Удачи!
Неизвестный
23.10.2005, 08:25
общий
это ответ
Здравствуйте, Кириллов Антон Андреевич!
Во втором юните просто напишите код, обращающийся к первому юниту, например: <b>Form1.Show;</b> Далее, в первом юните напишите где-нибудь аналогично: <b>Form2.Show;</b> Попробуйте скомпилировать программу. Компилятор укажет, что Вы обращаетесь к другим модулям и их нужно добавить в Uses. Подтвердите добавление кнопкой "Да" ("Yes") и после этого сможете обращаться к переменным и процедурам из одного модуля в другой. А вообще, нужно после <b>implementation</b> дописать: <b>uses Unit2;</b> и <b>uses Unit1;</b> соответственно. Это ручной способ. А если Вы делали по моему совету, чтобы компилятор сам всё добавил, не забудьте удалить написанные строки.
Неизвестный
23.10.2005, 08:51
общий
это ответ
Здравствуйте, Кириллов Антон Андреевич!
Надо в разделе uses каждого модуля написать
uses unit2;
или uses unit1;
давно
Мастер-Эксперт
425
4118
23.10.2005, 08:58
общий
это ответ
Здравствуйте, Кириллов Антон Андреевич!
Сделайте в строке USES юнитов ссылки на эти юниты:
Unit Unit1;
Uses unit2;
----------------------
Unit Unit2;
Uses unit1;
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
23.10.2005, 09:20
общий
это ответ
Здравствуйте, Кириллов Антон Андреевич!
1) Объявлять их глобально.
2) Нажать Alt+F11 чтобы добавить юнит.
3) Использовать или по имени или сразу по unit1.VARIABLE
Неизвестный
23.10.2005, 12:44
общий
это ответ
Здравствуйте, Кириллов Антон Андреевич!
в Unit2 в секции INTERFACE добавить в USES Unit1
в Unit1 в секции IMPLEMENTATION добавить в USES Unit2
Неизвестный
23.10.2005, 16:16
общий
это ответ
Здравствуйте, Кириллов Антон Андреевич!
В разделе implementation юнитов пропишите:
В unit2:
uses unit1;
В unit1:
uses unit2;
Кроме того необходимые процедуры и переменные в обоих юнитах должны быть объявлены как глобальные.
Форма ответа