|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.12.2011, 21:21 | #1 |
Форумчанин
Регистрация: 05.12.2011
Сообщений: 102
|
Не создается Label
В чем может быть причина?
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; l1: TLabel; ed1: TEdit; implementation uses Unit2; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Form2.Showmodal; l1:=TLabel.Create(Form2); l1.Caption:='Hallo!'; Ed1:=TEdit.Create(Form2); end; end. |
24.12.2011, 21:24 | #2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
создаётся, просто не показывается, т.к. Parent не назначен.
Вобще, логика хромает на две ноги. Сначала показываем модально форму, потом пытаемся создать на ней лейблы. При этом всё это из другой формы. Даже индусы редко до такого опускаются.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
Последний раз редактировалось veniside; 24.12.2011 в 21:27. |
24.12.2011, 21:35 | #3 |
Форумчанин
Регистрация: 05.12.2011
Сообщений: 102
|
Ну и ладно) я опустился) мб я индус откуда тебе знать?)
|
24.12.2011, 21:39 | #4 |
Форумчанин
Регистрация: 05.12.2011
Сообщений: 102
|
Кстати где этот Parent ставится и правильно ли я понимаю
L1.Parent:=Form2; ? |
24.12.2011, 22:15 | #5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
да, правильно, этим вы указываете где он будет(на ком), но не позицию.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
24.12.2011, 22:28 | #6 |
Форумчанин
Регистрация: 05.12.2011
Сообщений: 102
|
толку нет помоему...
begin Form2.Showmodal; l1:=TLabel.Create(Form2); l1.Parent:=Form2; l1.Caption:='Hallo!'; Ed1:=TEdit.Create(Form2); end; |
24.12.2011, 23:10 | #7 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
Какой тут толк может быть, если все что после Form2.Showmodal; выполняется только после закрытия этой формы.
Form2.Showmodal; надо вызывать после того как на форме что-то создается. |
24.12.2011, 23:25 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
кстати, с эдитом та же проблема будет.
+ советую указать позицию и размеры. + пост номер 7. (кстати, а в дизайне форму не оформить?) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не создается процесс | alexprey | Visual C++ | 6 | 14.09.2011 17:48 |
Не создается таблица | ymka2 | БД в Delphi | 6 | 29.11.2009 15:25 |
Не создается диалог | -CrAzYMaN- | Общие вопросы C/C++ | 4 | 23.11.2009 11:06 |
При расположении Label на компонентах, место под Label, не реагирует на событие onClick. | NavigatorNeba | Компоненты Delphi | 3 | 15.11.2008 19:56 |
Вопрос по label. Как сделать так чтобы label была прозрачной. | Lonix | Компоненты Delphi | 2 | 01.04.2007 06:23 |