Вниз
Скачать: CL | DM;

Private и public   Найти похожие ветки 

← →
Merry   (2006-09-29 20:59) [0]

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

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


← →
Palladin ©   (2006-09-29 21:01) [1]


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

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


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

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


← →
Джо ©   (2006-09-29 21:05) [2]

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


← →
Merry   (2006-09-29 21:05) [3]

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


← →
Zeqfreed ©   (2006-09-29 21:06) [4]

> [0] Merry   (29.09.06 20:59)

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


← →
Zeqfreed ©   (2006-09-29 21:08) [5]

> [3] Merry   (29.09.06 21:05)

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


← →
DrPass ©   (2006-09-29 23:10) [6]


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

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

Сделай так:

var
 var1: Extended
type
 TForm1 = class(TForm)


← →
DrPass ©   (2006-09-29 23:11) [7]

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


← →
RASkov   (2006-09-30 00:02) [8]

> 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]:)


← →
Desdechado ©   (2006-09-30 15:04) [9]

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


← →
Kolan ©   (2006-09-30 17:39) [10]

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

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


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

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


otchet = Report


← →
RASkov   (2006-09-30 22:56) [11]

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

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

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


← →
Loginov Dmitry ©   (2006-09-30 23:03) [12]

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

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


← →
Kolan ©   (2006-10-01 00:34) [13]


> RASkov   (30.09.06 00:02) [8]

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


← →
RASkov   (2006-10-01 01:17) [14]

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

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


← →
Kolan ©   (2006-10-01 01:19) [15]


> Нет:)

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


← →
RASkov   (2006-10-01 01:19) [16]

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

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


← →
RASkov   (2006-10-01 01:21) [17]

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

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



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.027 c
15-1159117009
Alx2
2006-09-24 20:56
2006.10.15
Связь изменения численности населения города и уровня жизни в нем


1-1157526893
Term
2006-09-06 11:14
2006.10.15
Как создать файл в нужной мне кодировке


2-1159343114
Dr. Genius
2006-09-27 11:45
2006.10.15
Объявление модулей в interface и implementation


15-1159008212
Александр Иванов
2006-09-23 14:43
2006.10.15
Как скрестить VSS и VS2005?


1-1157747131
markers
2006-09-09 00:25
2006.10.15
Значаение строк MouseWheel




   Наверх