Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизКомпоненты формы не доступны в другой форме Найти похожие ветки
← →
leklerk © (2012-04-19 08:28) [0]Добрый день! Подскажите пожалуйста, кто знает, можно ли сделать так, чтобы компоненты одной формы были доступны в другой?
← →
Ega23 © (2012-04-19 08:38) [1]Во-первых, так не делается. "туалет в одной квартире был доступен в другой".
Во-вторых, если всё-таки очень хочется и прямо вот не терпится - сделай публичное свойство.
← →
oldman © (2012-04-19 08:39) [2]прописать unit2 в uses unit1
← →
stas © (2012-04-19 09:10) [3]Ega23 © (19.04.12 08:38) [1]
>Они по умолчанию public, не думаю что он намеренно переместил в другую секцию.
← →
Ega23 © (2012-04-19 09:15) [4]
> Они по умолчанию public, не думаю что он намеренно переместил
> в другую секцию.
1. Они по умолчанию не public, а published
2. Кто мешает мне объявить 100500 TEdit в привате и работать с ними?
← →
Медвежонок Пятачок © (2012-04-19 09:31) [5]можно ли сделать так, чтобы компоненты одной формы были доступны в другой?
Интереснее другой вопрос:
"Можно ли сделать так, чтобы они стали недоступны в другой?"
Который одновременно является еще и ответом на исходный вопрос
← →
Ega23 © (2012-04-19 09:38) [6]
> "Можно ли сделать так, чтобы они стали недоступны в другой?"
можно.
← →
Anatoly Podgoretsky © (2012-04-19 09:42) [7]
> 1. Они по умолчанию не public, а published
Они вне секций, поэтому они могут быть загружены из DFM
← →
Медвежонок Пятачок © (2012-04-19 09:46) [8]можно.
как бы можно, но на самом деле как бы нельзя. даже если они в привате
← →
AV © (2012-04-19 09:49) [9]выкинуть нафиг
var
Form2: TForm2;
написать
type
TForm2 = class(TForm)
Memo1: TMemo;
private
function GetTextF2: string;
procedure SetTextF2(const Value: string); { Private declarations }
public { Public declarations }
property TxtMemoForm2: string read GetTextF2 write SetTextF2;
end;
implementation
{$R *.dfm}
{ TForm2 }
function TForm2.GetTextF2: string;
begin
Result := Memo1.Text;
end;
procedure TForm2.SetTextF2(const Value: string);
begin
Memo1.Text := Value;
end;
все, теперь только
uses
, Unit2;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private { Private declarations }
public { Public declarations }
F2: TForm2;
end;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if F2 <> nil then
F2.TxtMemoForm2 := TxtMemoForm2 + #13#10 + "TForm1.Button1Click";
← →
AV © (2012-04-19 10:04) [10]
> AV © (19.04.12 09:49) [9]
ахинея..
← →
CRLF (2012-04-19 10:19) [11]
> можно.
Через Form.Components[I] всё равно ведь доступны
← →
Ega23 © (2012-04-19 10:25) [12]
> как бы можно, но на самом деле как бы нельзя. даже если они в привате
Ну если долго и упорно рекурсивно бегать по Controls, а также знать, чем они друг от друга отличаются, то можно.
← →
Ega23 © (2012-04-19 10:26) [13]
> Через Form.Components[I] всё равно ведь доступны
Не всегда. Через Controls ещё можно контролы получить, у которых Parent определён.
← →
CRLF (2012-04-19 10:42) [14]Да, не проснулся ишшо... Если овнер=нил, то в компонентах приватный компонент не засветится, конечно.
← →
Медвежонок Пятачок © (2012-04-19 10:46) [15]если овнер нил, то оно как бы и к исходному вопросу не относится.
← →
Ega23 © (2012-04-19 10:48) [16]
> если овнер нил, то оно как бы и к исходному вопросу не относится.
Чё это?
← →
Медвежонок Пятачок © (2012-04-19 10:51) [17]чтобы компоненты одной формы
Мы ищем компоненты одной формы.
Компоненты не этой одной формы мы не ищем.
Если овнер и парент нил, то они нам просто не интересны.
Нас интересует доступность компонентов "одной формы"
← →
Ega23 © (2012-04-19 10:53) [18]Почтительно и пристыженно умолкаю.
← →
stas © (2012-04-19 11:27) [19]Ega23 © (19.04.12 09:15) [4]
1. В случае с формой и ее компонентами в published нет смысла... А раз они доступны вне класса значит они public, хоть и объявлены вне секции
2. Никто, но если бы человек это сделал он бы не задавал таких вопросов, ответ в [2] самый верный...
← →
Anatoly Podgoretsky © (2012-04-19 11:38) [20]
> если овнер нил, то оно как бы и к исходному вопросу не
> относится.
А разве он об этом что ли бо говорил?
← →
Anatoly Podgoretsky © (2012-04-19 11:40) [21]
> 2. Никто, но если бы человек это сделал он бы не задавал
> таких вопросов
И не надейся
← →
Ega23 © (2012-04-19 12:28) [22]
> В случае с формой и ее компонентами в published нет смысла. А раз они доступны вне класса значит они public, хоть и объявлены вне секции
А мужики-то не знают!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.1 c