Текущий архив: 2006.10.15;
Скачать: 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 вся ветка
Текущий архив: 2006.10.15;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.042 c