Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
16 / 16 / 1
Регистрация: 29.11.2014
Сообщений: 227

Как передать данные из одного юнита в другой при разработке компонента?

23.06.2016, 23:06. Показов 1539. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю компонент, не могу передать инфу, вводимую в ObjectInspector во внутренний модуль компонента (uAdditional). Вот какая структура у меня получается

-SomeComponent.bpl
-uSomeComponent_BPL.pas
-uAdditional.pas

-TestProgram.exe
-uTestProgram.pas

Вот скриншот структуры проекта



В uSomeComponent_BPL.pas у меня специальное Published поле SomeField



В чем моя проблема?


Когда компонент зарегистрирован, и его экземпляр добавлен на форму, в ObjectInspector вводится любое значение в SomeField, например, '123'. Это значение нужно передать во внутренний модуль компонента uAdditional. Через глобальную переменную работает - но это плохая практика. 2 экземпляра компонента, например уже не создашь.

Пробовал делать так


Во внутреннем модуле компонента uAdditional.. создавал экземпляр компонента

Delphi
1
2
3
4
5
6
7
8
9
10
procedure TfAdditional.FormCreate(Sender: TObject);
 
var SomeComponent:TSomeComponent;
 
begin
    SomeComponent:=TSomeComponent.Create(Self);
    ShowMessage(SomeComponent.SomeField);
 
 
end;
В главном модуле компонента делал процедуру создания экземпляра uAdditional

Delphi
1
2
3
4
5
6
7
8
9
procedure TSomeComponent.CreateAdditionalForm;
 
var AdditionalForm:TfAdditional;
 
begin
 
    AdditionalForm:=TfAdditional.Create(Self);
 
end;
После добавления компонента в тестовую программу, вызывал эту процедуру

Delphi
1
2
3
4
procedure TfMainform.SomeComponent1Click(Sender: TObject);
begin
SomeComponent1.CreateAdditionalForm;
end;
Но тщетно, сообщение было пустым....

Мой вопрос

Как передать данные поля SomeField компонента во внутренний модуль компонента, после его создания???

Во вложении сам проект - компонент и тестовая программа к нему.324_GlobalVarTest.zip
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.06.2016, 23:06
Ответы с готовыми решениями:

Передать значение переменной из одного юнита в другой
Здравствуйте. Нужно передать значение переменной из одного юнита в другой без создания доп. элементов типа Label Edit итд. Нашёл на форуме...

Как передать данные из одного потока в другой?
Есть отдельный поток для чтения данных и основной поток для обработки данных. Из этого потока данные нужно передать в основной поток. ...

Как передать данные с одного сервера на другой?
Имеется сервер Oracle, на нем представление, имеется хостинг MySQL. Как передать данные из Oracle на хостинг? В какую сторону рыть?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.06.2016, 23:06
Помогаю со студенческими работами здесь

Как передать данные из одного метода в другой?
Добрый день! В одном классе два метода (1. private void CalcCurrentPrice, 2. public virtual void Execute), как из первого передать...

Как можно передать данные с одного ПК на другой
Здравствуйте! Помогите пожалуйста разобраться В наличии имеется промышленный компьютер MS DOS, данные с которого передаются на PC c win...

Как передать данные из одного метода в другой?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...

Как передать данные из одного сервлета в другой
Как передать данные из одного сервлета в другой, если сервлеты располагаются на одной интернет-страничке, только в разных фреймах? ...

Как передать данные из одного процесса в другой без сокетов
как можно передать аргументы функции main другой программы из той которая вызывает другой процесс, отвечающий за ту main куда нужно...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru