Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Private и public [D7, XP]


Merry ©   (2006-09-29 20:59:00) 

В одном модуле  unit main объявляю:
Public
Var1:extended;
….
Далее присваиваю:
Var1:=StrToFloat(Edit1.Text);

В другом модуле unit otchet использую:
Uses main;
Но почему-то переменная var1, когда её вызываю в этом модуле otchet,
не известна и не считывается из unit main.
Как сделать, чтобы объявленное значение переменной в первом модуле, было известно второму модулю?


RASkov   (2006-10-01 01:21:00) [1]

> [15] Kolan ©   (01.10.06 01:19)

Называется "Семь раз прочти один запость" © NewПословица


RASkov   (2006-10-01 01:19:00) [2]

> [12] Loginov Dmitry ©   (30.09.06 23:03)

Ладно.... уговорили:)


Kolan   (2006-10-01 01:19:00) [3]


> Нет:)

А я уж дамал я сума сошел :)


RASkov   (2006-10-01 01:17:00) [4]

> [13] Kolan ©   (01.10.06 00:34)

Нет:) Вместо Unit1 надо Form1.... А вот для глобальных unit1.


Kolan   (2006-10-01 00:34:00) [5]


> RASkov   (30.09.06 00:02) [8]

И что скомпилилось?


Loginov Dmitry   (2006-09-30 23:03:00) [6]

RASkov   (30.09.06 22:56) [11]
Или мой ответ протеворечит?

[8] - это полнейший бред


RASkov   (2006-09-30 22:56:00) [7]

> [9] Desdechado ©   (30.09.06 15:04)

Согласен, только я не говорил, что так нужно делать, я имелл ввиду как можно.
> Как сделать, чтобы объявленное значение переменной в первом
> модуле, было известно второму модулю?

Или мой ответ протеворечит? А уж создано или нет, в момент обращения, на совести программера.


Kolan   (2006-09-30 17:39:00) [8]

Тут переводчик еще работал:

> В одном модуле  unit mainобъявляю:


А тут поломался?

> В другом модуле unit otchetиспользую:


otchet = Report


Desdechado   (2006-09-30 15:04:00) [9]

RASkov   (30.09.06 00:02) [8]
> with unit1 do begin //указываем из кокого модуля брать "переменную"
Глупости. Без создания экземпляра TForm1 и обращения к нему никакие unit1 не помогут.


RASkov   (2006-09-30 00:02:00) [10]

> Merry


unit unit1;
....
type
 TForm1 = class(TForm)
....
public
  Int: Integer;
  Bt: Boolean;
  S: String;
  Var1:extended;
end;
....
Var1:=StrToFloat(Edit1.Text);
.....

unit unit2;
....
implimintation
uses unit1;

procedure xxx;
begin
with unit1 do begin //указываем из кокого модуля брать "переменную"
 Int:=5;
 B:=True;
 S:='stroka';
 ShowMessage(FloatToStr(Var1));
end;
end;


А вооще "глобальную" переменную то так [6]
и [7]:)


DrPass   (2006-09-29 23:11:00) [11]

//только про точку с запятой после extended не забудь


DrPass   (2006-09-29 23:10:00) [12]


> Как сделать, чтобы объявленное значение переменной в первом
> модуле, было известно второму модулю?

Медленно поднимаешь свой пытливый взор вверх по тексту, пока не встретишь строки вида
type
 TForm1 = class(TForm)

Сделай так:

var
 var1: Extended
type
 TForm1 = class(TForm)


Zeqfreed   (2006-09-29 21:08:00) [13]

> [3] Merry   (29.09.06 21:05)

Это не переменная, а поле конкретного объекта или класса (если объявлено как классовое). Доступ к нему, соответствунно, осуществляется с указанием имени экземпляра (или самого класса) и последующим разыменовыванием оного.


Zeqfreed   (2006-09-29 21:06:00) [14]

> [0] Merry   (29.09.06 20:59)

Экземпляр класса писать не забываешь?


Merry   (2006-09-29 21:05:00) [15]

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


Джо   (2006-09-29 21:05:00) [16]

Если "public", то это уже не "переменная", а поле или свойство какого-то класса.


Palladin   (2006-09-29 21:01:00) [17]


>  когда её вызываю в этом модуле otchet,

переменные (а в данном случае аттрибут класса) не вызываются, бо не исполняемый код... и не призываются, бо не святой дух и не призывники...


> не известна и не считывается из unit main.

и как это выражается?


Наверх

Титульная страница Поиск, карта сайта Написать письмо