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

Вниз

Значение переменной   Найти похожие ветки 

 
Дилетант ©   (2005-10-06 14:33) [0]

Еще один глупый вопрос: Как передать значение переменной из одного модуля в другой?


 
stone ©   (2005-10-06 14:36) [1]

1. Поместить ее в Public
2. Передать через процедуру/функцию


 
Дилетант ©   (2005-10-06 14:43) [2]

почему-то через Public не работало... Ее в обоих модулях надо в Public загонять?


 
stone ©   (2005-10-06 14:48) [3]

нет только в одном, а во втором указывать этот unit в uses


 
evvcom ©   (2005-10-06 15:23) [4]

что подразумевается под "модулем"? unit или exe и dll?


 
msguns ©   (2005-10-06 15:28) [5]

У Тексейры написано четко:

Все объекты "общего" пользования должны быть определены в юните, постоянно существующем во  время выполнения приложения (например, Главной форме или датамодуле). В этом случае любой из динамически создаваемых объектов может свободно писать и читать в эти объекты.
В том числе и при взаимодействии динамически созданных объектов между собою.


 
evvcom ©   (2005-10-06 16:06) [6]


> msguns ©   (06.10.05 15:28) [5]

речь все-таки идет о переменной, а не объекте.


 
Ищущий ©   (2005-10-06 16:14) [7]

2 evvcom : Переменная и есть объект
2 msguns : Не умничай. Опиши проще :
1. создаем проект.
2. в разделе public объявляем переменную
3. File->New->Unit (это разделы меню delphi)
4. сохраняем проект (не закрывая)
5. в редакторе кода нажимаем таб с имененем последнего созданного юнита
6. нажимаем alt+F11 и выбираем имя первого юнита (там где переменная)
7. ищем варианты как это можно сделать еще...


 
msguns ©   (2005-10-06 16:40) [8]

Вся трабла в том, в какой части юнита ты указываешь ссылку на другой инит, к объекту которого ты хочешь обратиться.
Если у тебя в Unit1 определен класс Class1, у которого есть опубликованная ссылка Parm1 и из Unit2 ты хочешь обратиться Class1.Parm1,
то имя Unit1  в перечне Uses надо поместить в раздел interface, а не Implementation, куда делфа "закидывает" выбранный тобою инит при Alt+F11

Именно во избежание этого "недостатка" я и советовал все объекты (классы) общего назначения располагать не в функциональных модулях, а в модуле Главной формы или датамодуле, которые перечислять в Uses сразу после слова inerface кода


 
evvcom ©   (2005-10-06 16:43) [9]


> Ищущий ©   (06.10.05 16:14) [7]
> 2 evvcom : Переменная и есть объект

Оп-па! Вот это новость. Смотрим:
var
 i: Integer;

i - это переменная, вот только не вижу, где здесь объект?


 
Anatoly Podgoretsky ©   (2005-10-06 16:45) [10]

msguns ©   (06.10.05 15:28) [5]
Ерунда написана, наверно и здесь переводчики намудрили. Издательство допустила большую ошибку поручив перевод с американского англичанину.


 
msguns ©   (2005-10-06 16:49) [11]

>Anatoly Podgoretsky ©   (06.10.05 16:45) [10]

Толя, во-первых я не ручаюсь за точность фразы ибо нету у меня здесь Тексейры. А во-вторых можно поподробнее на счет "ерунды" ?


 
Anatoly Podgoretsky ©   (2005-10-06 16:51) [12]

Ерунда в этой фразе

Все объекты "общего" пользования должны быть определены в юните, постоянно существующем во  время выполнения

Ни о каком времени выполнения говорить не приходится, юнит (что то сомневаюсь, что использован такой пацанский сленг) это не время существования, а единица структирования программы.


 
msguns ©   (2005-10-06 17:00) [13]

>Anatoly Podgoretsky ©   (06.10.05 16:51) [12]

Понятно ;))

Имелись в виду, конечно же не "юниты", ибо эта штука суть понятие компиллятора, но никак не ОС, которая "обслуживает" приложение во время его выполнения. А объекты, существующие в памяти в момент попытки обращения из других участков кода к их полям (участкам кода).
На языке же паскаля это можно "изобразить" в терминологии "инитов".
Хотя, возможно, что это и звучит "по-пацански".



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

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

Наверх




Память: 0.5 MB
Время: 0.027 c
2-1128645090
beglec
2005-10-07 04:31
2005.10.30
Как запустить приложение без формы?


1-1128423013
SergP.
2005-10-04 14:50
2005.10.30
Работа со свойствами VCL-компонентов из доп. потоков.


5-1105981960
Arnold
2005-01-17 20:12
2005.10.30
Как создать компонент вроде граф. компонентов в Visio или в Worda


2-1128439767
Sysanin
2005-10-04 19:29
2005.10.30
Уменьшение размера exe


2-1128629988
terepevt
2005-10-07 00:19
2005.10.30
do nothing