Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
25 / 25 / 17
Регистрация: 23.09.2012
Сообщений: 274
1

Как программно создать объект на другой форме?

14.05.2013, 22:47. Показов 3039. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер!
Есть код, который должен создать компонент Lbl на другой форме(form4,lbl на ней объявлен), но код выдает ошибку:
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm3.btn4Click(Sender: TObject);
const     colsv=34;
colsb=12;
begin
Form4.Lbl.Create(self);
Form4.Lbl.Font.Size:=14;
Form4.Lbl.Caption:='Êîìïîíåíò òèïà TLabel';
path:='Names\label.txt';
add(path,2,colsv,colsb);
end;
Помогите пожалуйста!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2013, 22:47
Ответы с готовыми решениями:

Как программно опрелить что на форме есть объект Timer
Доброго времени суток. Собственно сабж. Есть функция, которая в качестве параметра принимет форму....

Как программно создать объект?
Проблема в следующем: Есть текстовый файл с какими-то строчками (не суть важно с какими, важно то,...

Как программно создать кнопку на форме?
Как из Form1 программно создать кнопку(textbox и тд) на Form2? Спасибо

Как программно создать элемент на форме?
Предположим, есть форма, и в этой форме нужно из функции создать кнопку (задав ей координаты,...

10
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
14.05.2013, 22:54 2
Неважно где он объявлен.
Создается компонент так:
Delphi
1
Lbl := TLabel.Create(Self);
а то, где он будет находиться определяется так:
Delphi
1
Lbl.Parent := Form4;
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32991 / 21297 / 8180
Регистрация: 22.10.2011
Сообщений: 36,591
Записей в блоге: 8
14.05.2013, 22:55 3
Parent кто буде назначать? Без него твой лейбл нигде отображаться-то не будет.

Delphi
1
2
3
4
5
6
with TLabel.Create(Form4) do // тьфу, скопировал твой же вариант
begin
   Parent := Form4;
   Font.Size:=14;
   Caption:='Компонент типа TLabel';
end;
0
25 / 25 / 17
Регистрация: 23.09.2012
Сообщений: 274
14.05.2013, 22:56  [ТС] 4
Цитата Сообщение от FIL Посмотреть сообщение
Неважно где он объявлен.
Создается компонент так:
Delphi
1
Lbl := TLabel.Create(Self);
а то, где он будет находиться определяется так:
Delphi
1
Lbl.Parent := Form4;
Выдает ошибку.
Delphi
1
2
Form4.Lbl.Create(Self);
Form4.Lbl.Parent:=Form4;
Не работает.
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
14.05.2013, 22:57 5
Цитата Сообщение от Talkoflights Посмотреть сообщение
Lbl на другой форме(form4,lbl на ней объявлен)
в чем смысл таких телодвижений? и как метка объявлена (просто как переменная типа TLabel или брошен компонент на форму4)? в любом случае создается так:
Delphi
1
lbl:=TLabel.Create(self);
и у визуальных объектов необходимо еще определять своство Parent

Добавлено через 53 секунды
Цитата Сообщение от Talkoflights Посмотреть сообщение
Выдает ошибку.
так и пишет "Ошибка"?
0
25 / 25 / 17
Регистрация: 23.09.2012
Сообщений: 274
14.05.2013, 22:59  [ТС] 6
Кину проект:
Смотрим 3-ю форму.
Вложения
Тип файла: rar Project.rar (595.9 Кб, 16 просмотров)
0
25 / 25 / 17
Регистрация: 23.09.2012
Сообщений: 274
14.05.2013, 23:00  [ТС] 7
Цитата Сообщение от cotseec Посмотреть сообщение
в чем смысл таких телодвижений? и как метка объявлена (просто как переменная типа TLabel или брошен компонент на форму4)? в любом случае создается так:
Delphi
1
lbl:=TLabel.Create(self);
и у визуальных объектов необходимо еще определять своство Parent

Добавлено через 53 секунды

так и пишет "Ошибка"?
Я сбросил проект, смотрите выше.
На форму не брошена, просто объявлена.
0
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
14.05.2013, 23:06 8
Ты вообще читаешь, что тебе пишут?
Исправь:
Delphi
1
Form4.Lbl := TLabel.Create(Self);
и все заработает.
1
25 / 25 / 17
Регистрация: 23.09.2012
Сообщений: 274
14.05.2013, 23:08  [ТС] 9
Цитата Сообщение от FIL Посмотреть сообщение
Ты вообще читаешь, что тебе пишут?
Исправь:
Delphi
1
Form4.Lbl := TLabel.Create(Self);
и все заработает.
Тьфу, черт! Не сплю вторые сутки, проект дописываю. Спасибо, что направили мой полудохлый мозг.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32991 / 21297 / 8180
Регистрация: 22.10.2011
Сообщений: 36,591
Записей в блоге: 8
14.05.2013, 23:26 10
Цитата Сообщение от Talkoflights Посмотреть сообщение
и все заработает.
А потом он удалит форму Form3, и все рухнет. Не надо назначать Onwer-а отличного от Parent-а...
0
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
15.05.2013, 09:05 11
Цитата Сообщение от UI Посмотреть сообщение
А потом он удалит форму Form3, и все рухнет.
Возможно, но в данном проекте при закрытии Form3 ничего не происходит.

Talkoflights, у тебя при закрытии всех форм проект остается в памяти висеть.
Добавь, например:
Delphi
1
2
3
4
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Application.Terminate;
end;
0
15.05.2013, 09:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2013, 09:05
Помогаю со студенческими работами здесь

Как создать объект на форме во время выполнения приложения?
Подскажите пожалуйста как создать объект на форме во время выполнения приложения. Хочу создать игру...

Как создать объект своего класса во второй форме?
В mainwindow.cpp сделал #include своего класса. Все нормально, объекты создаются. Создал вторую...

Как программно создать колонки таб части и отобразить их на упр форме?
как программно создать колонки таб части и отобразить их на упр форме . создать колонки то не...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru