|
0 / 0 / 1
Регистрация: 17.04.2016
Сообщений: 77
|
||||||
RAD 2009-XE2 Работа с TStringList между разными формами13.12.2018, 23:30. Показов 4477. Ответов 14
Коллеги, добрый день,
Есть основная форма, из нее запускается вторая форма, в которой происходит выбор файлов. Список выбранных файлов заносится в FolderName:TStringList. После чего вторая форма закрывается, а основная форма должна обработать список FolderName. Пробую объявить FolderName, как глобальную переменную прописав ее в основной форме FolderName:TStringList в interface->var. Создать ее FolderName := TStringList.Create при старте основной формы. И далее заполнять ее во второй форме. Но между формами она не видна. Что делаю не так? В основной форме, примерно, это выглядит вот так:
0
|
||||||
| 13.12.2018, 23:30 | |
|
Ответы с готовыми решениями:
14
Работа между формами Работа между формами |
|
|
||||||||||||
| 13.12.2018, 23:50 | ||||||||||||
|
чтобы добраться до переменной, надо написать название юнита еще
Добавлено через 7 минут
0
|
||||||||||||
|
Модератор
|
|
| 14.12.2018, 06:07 | |
Сообщение было отмечено krapotkin как решение
Решение
По хорошему обмен данными между формами должен осуществляться с помощью дополнительного модуля, в котором описаны общие переменные, собственные типы, процедуры и функции. Как по мне - не надо делать так, чтобы формы знали друг о друге: это совсем ни к чему. Ну ладно - главная форма: она должна что-то знать о тех дополнительных формах, но только о тех, которые будут из нее вызываться. Но дополнительные формы о главной не должны знать вообще...
0
|
|
|
|
||||||||||||
| 14.12.2018, 10:46 | ||||||||||||
|
вызов в первой форме, типа такого получается
1
|
||||||||||||
|
Модератор
|
||
| 14.12.2018, 11:51 | ||
|
0
|
||
|
|
||
| 14.12.2018, 12:04 | ||
|
0
|
||
|
Модератор
|
||
| 14.12.2018, 13:07 | ||
|
1
|
||
|
|
|
| 14.12.2018, 17:28 | |
|
дак и в моем случае они будут работать с одним набором данных))) просто точка входа будет контролируема из главной формы) а все остальное лишь передача ссылки на созданный список))) я вас не призываю ни к чему, у вас и опыта больше и делаете все правильно, куда с нашими соплями в разговоры взрослых дядек лезть))) но все равно с моей точки зрения, с моим подходом больше контроля, что куда и зачем, да и минусов не вижу в таком методе как бы тоже. Во втором модуле мы просто приписав новую функцию, расширяем стандартный функционал, в этом случае сбор данных. Вы же не пишите новую функцию в отдельном модуле, чтобы изменить ширину или высоту формы, а вызываете уже прописанные методы этому объекту... с таким же успехом можете создать такую функцию в модуле и использовать как вы описываете этот процесс, тогда мы отдаляемся от ООП снова к процедурному стилю программирования))) давайте уже тогда сразу развернем и процедурное программирование на метки, и придем к ассемблерным командам прыганья по меткам)))
Не по теме: ладно.. пошел я в выходные))) и отмечать новый контракт с космическим агентством, который сегодня подписал))) Добавлено через 48 секунд
0
|
|
|
|
||
| 14.12.2018, 20:44 | ||
|
мои поздравления )
просто нужно четко и всегда помнить форма - это то что на экране данные - это то что "внутри" если данные хранить в форме, то придется ее за собой всюду таскать это крайне вредно а если форма имеет ссылку на данные, которые хранятся где-то еще, то вполне можно решить любую проблему и ни одну из них нельзя будет перетащить в другую программу, потому что они потащат все за собой.
1
|
||
|
|
||||
| 14.12.2018, 21:42 | ||||
|
ваши советы напоминают следующую картину.. сегодня пошел в магазин за молоком - купил молоко уже в продаваемой таре, тара только на выкид, то есть мусор.. уже и мусор в коде ненужный... раньше в советское время ходили за молоком со своей тарой, бутылка была одна, как и тут контейнер один, а что в него насыпят/нальют зависит уже от желания.. вот вы сегодня и программируете с кучей мусора, получается, раз вы советуете создать модуль и В НЕМ создать некий контейнер, а если мне в двух модулях понадобится два разных набора данных? как я буду это чисто использовать? да никак.. через Ж все получится. если я сделаю метод отдельный и в него буду подсовывать разные банки для заполнения, я получу задуманное и чистое решение! Добавлено через 6 минут
0
|
||||
|
Модератор
|
|||
| 15.12.2018, 08:03 | |||
данными, точнее, их обработкой, должна заниматься форма? Вот чего я не пойму?
0
|
|||
|
0 / 0 / 1
Регистрация: 17.04.2016
Сообщений: 77
|
|
| 16.12.2018, 19:15 [ТС] | |
|
Да, все спасибо за развернутые комментарии! Постепенно движемся к НГ, нужно готовиться и разминаться..
![]() Пока сделал черег глобальную переменную.
0
|
|
| 16.12.2018, 19:15 | |
|
Помогаю со студенческими работами здесь
15
Работа с БД передача данных между формами Работа с двумя формами; передача данных между ними
выпадающий список с разными формами ввода при выборе элемента списка
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
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 .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|