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

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

Компоненты формы не доступны в другой форме


Страницы:   1 2

leklerk ©   (2012-04-19 08:28:00) 

Добрый день! Подскажите пожалуйста, кто знает, можно ли сделать так, чтобы компоненты одной формы были доступны в другой?


Ega23   (2012-04-19 12:28:00) [1]


>  В случае с формой и ее компонентами в published нет смысла. А раз они доступны вне класса значит они public, хоть и объявлены вне секции


А мужики-то не знают!


Anatoly Podgoretsky   (2012-04-19 11:40:00) [2]


> 2. Никто, но если бы человек это сделал он бы не задавал
> таких вопросов

И не надейся


Anatoly Podgoretsky   (2012-04-19 11:38:00) [3]


> если овнер нил, то оно как бы и к исходному  вопросу не
> относится.

А разве он об этом что ли бо говорил?


stas   (2012-04-19 11:27:00) [4]

Ega23 ©   (19.04.12 09:15) [4]

1. В случае с формой и ее компонентами в published нет смысла... А раз они доступны вне класса значит они public, хоть и объявлены вне секции
2. Никто, но если бы человек это сделал он бы не задавал таких вопросов, ответ в [2] самый верный...


Ega23   (2012-04-19 10:53:00) [5]

Почтительно и пристыженно умолкаю.


Медвежонок Пятачок   (2012-04-19 10:51:00) [6]

чтобы компоненты одной формы

Мы ищем компоненты одной формы.

Компоненты не этой одной формы мы не ищем.

Если овнер и парент нил, то они нам просто не интересны.

Нас интересует доступность компонентов "одной формы"


Ega23   (2012-04-19 10:48:00) [7]


> если овнер нил, то оно как бы и к исходному  вопросу не относится.


Чё это?


Медвежонок Пятачок   (2012-04-19 10:46:00) [8]

если овнер нил, то оно как бы и к исходному  вопросу не относится.


CRLF   (2012-04-19 10:42:00) [9]

Да, не проснулся ишшо... Если овнер=нил, то в компонентах приватный компонент не засветится, конечно.


Ega23   (2012-04-19 10:26:00) [10]


> Через Form.Components[I] всё равно ведь доступны


Не всегда. Через Controls ещё можно контролы получить, у которых Parent определён.


Ega23   (2012-04-19 10:25:00) [11]


> как бы можно, но на самом деле как бы нельзя. даже если они в привате


Ну если долго и упорно рекурсивно бегать по Controls, а также знать, чем они друг от друга отличаются, то можно.


CRLF   (2012-04-19 10:19:00) [12]


> можно.
Через Form.Components[I] всё равно ведь доступны


AV   (2012-04-19 10:04:00) [13]


> AV ©   (19.04.12 09:49) [9]

ахинея..


AV   (2012-04-19 09:49:00) [14]

выкинуть нафиг
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';


Медвежонок Пятачок   (2012-04-19 09:46:00) [15]

можно.

как бы можно, но на самом деле как бы нельзя. даже если они в привате


Anatoly Podgoretsky   (2012-04-19 09:42:00) [16]


> 1. Они по умолчанию не public, а published

Они вне секций, поэтому они могут быть загружены из DFM


Ega23   (2012-04-19 09:38:00) [17]


> "Можно ли сделать так, чтобы они стали недоступны в другой?"


можно.


Медвежонок Пятачок   (2012-04-19 09:31:00) [18]

можно ли сделать так, чтобы компоненты одной формы были доступны в другой?

Интереснее другой вопрос:
"Можно ли сделать так, чтобы они стали недоступны в другой?"

Который одновременно является еще и ответом на исходный вопрос


Ega23   (2012-04-19 09:15:00) [19]


> Они по умолчанию public, не думаю что он намеренно переместил
> в другую секцию.


1. Они по умолчанию не public, а published
2. Кто мешает мне объявить 100500 TEdit в привате и работать с ними?


stas   (2012-04-19 09:10:00) [20]

Ega23 ©   (19.04.12 08:38) [1]
>Они по умолчанию public, не думаю что он намеренно переместил в другую секцию.


Страницы:   1 2

Наверх

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