![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как связывать данные переменной между формами?
afisher © (2006-03-11 23:58:00)Мне нужно ввести значение переменной на одной форме, и вывести её значение на другой форме. Подскажите пожалуйсто, как это сделать. То есть как сделать так, чобы переменная стала глобальной???
Gydvin (2006-03-13 13:46:00) [1](точнее, класс) открыть много раз - для каждой пиктограммки
А имена того что будет открываться много раз отличаются?
t,r,e:tmyclass
msguns (2006-03-13 13:27:00) [2]>Gydvin © (13.03.06 12:20) [26]
>это как?
Очень просто.
Посмотри любое MDI-приложение,хотя бы тот же ImageMaker, там можно одну и ту же форму (точнее, класс) открыть много раз - для каждой пиктограммки
Gydvin (2006-03-13 12:20:00) [3]msguns © (13.03.06 11:25) [22]
имеется несколько экземпляров Form1..
это как?
Gydvin (2006-03-13 12:14:00) [4]просто копируют отсюда фрагменты в свой код
Ну а просто подумать головой, что копировать не судьба?
Я тоже бывает копирую, но не согласовать копируемый код со своим последнее дело, и тады все претензии имхо только к самому себе.
Вот как :))))
msguns (2006-03-13 11:48:00) [5]>Gydvin © (13.03.06 11:34) [23]
>Не ну это понятно, я просто выразил саму идею, как это можно сделать,
Не надо забывать, в какой конференции дается такой совет. Многие новички просто копируют отсюда фрагменты в свой код, а потом удивляются и возмущаются почему он глючит.
Gydvin (2006-03-13 11:34:00) [6]'s'
Form1.xxx
Не ну это понятно, я просто выразил саму идею, как это можно сделать, и само-собой для глобальных переменных такие имена использовать гемор и соответственно формам в юнитах которых имеются общие переменные давать спецефические имена
msguns (2006-03-13 11:25:00) [7]>Gydvin © (13.03.06 11:06) [21]
>Ну почему глюкодром, нормально работает, сбоев не наблюдал
Во-первых, названия объектов типа 's' - это изначально заложенная путаница в ссылках.
Во-вторых, внешние обращения типа Form1.xxx некорректны по нескольким причинам. Например, имеется несколько экземпляров Form1..
Gydvin (2006-03-13 11:06:00) [8]Этот глюкодром даже комментировать скучно.
Ну почему глюкодром, нормально работает, сбоев не наблюдал
Хотя можно сделать и подругому. Создать отдельный юнит и все нужные переменные обьявить там. Тоесть ипользовать, как буфер
Плохиш (2006-03-13 10:49:00) [9]
> afisher (12.03.06 22:55) [18]
Не пора ли заняться изучением основ модульного программирования?
> Gydvin © (13.03.06 10:33) [19]
Этот глюкодром даже комментировать скучно.
Gydvin (2006-03-13 10:33:00) [10]////////form1
public
s:string;
{ Public declarations }
end;
////////form2
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.s:='Test';
end;
////////form1
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage( s);
end;
????????????????????????
afisher (2006-03-12 22:55:00) [11]Да пробовал я так сделать....
По теории всё должно работать, а на практике форма не видит переменную и её приходится обьявлять заново, сл. ей присваивается значение = 0
TStas (2006-03-12 21:02:00) [12]В разделе интерфейс любого модуля объявить ее - она получиится глобальной. Все модули, который на сей модуль ссылаются ее видят, т. е. могут изменять и выводить
Gydvin (2006-03-12 20:05:00) [13]а просто в секции public
afisher (2006-03-12 18:24:00) [14]Всем спасибо, всё сделал ваще бес использования глобальных переменный.
На будущее куплю себе книжечку по Delphi... ;)
Anatoly Podgoretsky (2006-03-12 11:19:00) [15]afisher (12.03.06 00:56) [10]
Значит она не нужна
grisme (2006-03-12 04:29:00) [16]Кароче...:) имеем модуль 1й формы Unit1, 2й Unit2, и Unit3(добавляем ч-з File->New->Unit).Должно быть пр.так:
unit unit1;
interface
uses ..., unit3
...
unit unit2;
interface
uses ..., unit3
...
unit unit3;
interface
var myfuckingglobalvariable:integer;
...
:)
Piter (2006-03-12 01:34:00) [17]Нда... хочется плакать...
Ну и нафига это нужно? И какой будет следующий вопрос? :)))
Оно надо - плодить батончиков?
D не знаем, учить не хотим. Английского тоже не знаем. Думать тоже не хотим.
no comment :)
Eraser (2006-03-12 01:11:00) [18]
> afisher (12.03.06 00:56) [10]
мои соболезнования )
afisher (2006-03-12 00:56:00) [19]Пишет:
[ Unit6.pas(5): Variable 'a' is declared but never used in 'Unit6'
Piter (2006-03-12 00:46:00) [20]afisher (12.03.06 0:30) [6]
a:integer;
дальше по сценарию...?
да, только:
var
a: integer;