powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблемы со списком файлов в listbox/combo
11 сообщений из 11, страница 1 из 1
Проблемы со списком файлов в listbox/combo
    #33084240
Whitish Smoke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня такая задача: вывести список доступных dbf (внутри каталога) в listbox. Прописывание RowSourceType=7 не годится.

Сделал так. Есть функция ADIR() которая кладёт инфу по файлам в массив, допустим в list_files

Затем:

RowSourceType=6
RowSource='list_files'

Проблема в том, что в массив эти файлы заносятся исправно, а в листбоксе их не видно. Хотя мышкой можно навести и покликать по пустым полям.

Что не так? (VFP5/6)
...
Рейтинг: 0 / 0
Проблемы со списком файлов в listbox/combo
    #33084273
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RowSourceType=5
должно быть.
Ты ж в массив adir'ом помещаешь - вот и бери оттуда.

И о видимости массива не забывай. Сделай массив, например, свойством формы.
...
Рейтинг: 0 / 0
Проблемы со списком файлов в listbox/combo
    #33084323
Whitish Smoke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой, сглупил. Действительно 5! А массив как свойство формы это Form -> new property ?
...
Рейтинг: 0 / 0
Проблемы со списком файлов в listbox/combo
    #33084360
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да
...
Рейтинг: 0 / 0
Проблемы со списком файлов в listbox/combo
    #33084563
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Проблемы со списком файлов в listbox/combo
    #33085968
Whitish Smoke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за советы.

Насчёт RowSourceType=6 это я здесь опечатался на самом деле. В коде стоит правильно, то есть 5.

авторЭто значит, что созданный в методе формы или одного из ее объектов массив будет автоматически уничтожен по завершении того метода, в котором этот массив был создан.

Решение

Есть два принципиальных способа решения

Установить область видимости массива PUBLIC

Создать дополнительное свойство (Property) типа массив


По ряду причин, назначение локальному объекту области видимости PUBLIC - это не очень хорошая идея. В данном случае, под "локальным объектом" подразумевается массив, поскольку он нужен "локально", в пределах одной формы.

И всё таки хочется добить эту тему до конца.

Во-первых. Почему это не очень хорошая идея, назначить этому массиву PUBLIC ?

Во-вторых. Раз массив нужен в пределах одной формы, то почему он уничтожается в пределах ОДНОГО из методов ЭТОЙ формы?

Этому явно есть причина. Но в чём она заключается?
...
Рейтинг: 0 / 0
Проблемы со списком файлов в listbox/combo
    #33086291
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Почему это не очень хорошая идея, назначить этому массиву PUBLIC ?
Ну не точто не хорошая идея, но использование глобальных переменых создаваемых в произвольном месте сильно запутывает последующее понимание кода. Да и убивать их желательно не забывать а это лишнее телодвижение.

>Раз массив нужен в пределах одной формы, то почему он уничтожается в пределах ОДНОГО из методов ЭТОЙ формы?
Этому явно есть причина. Но в чём она заключается?

Во первых нарушение принципов ООП - методы класса взаимодействуют только через свойства класса. Хочешь чтото передать в другой метод - только через свойство.
Ну и любая переменая, создаваемая в методе (а это процедура) по умолчания имеет тип PRIVATE а значит видна только в процедурах, вызваных из этого метода а другие классы таковыми не являются, если их специально не вызывать
...
Рейтинг: 0 / 0
Проблемы со списком файлов в listbox/combo
    #33086339
Whitish Smoke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Burn. О! Спасибо. Хорошие ответы. Кое-что у меня в голове прояснилось.
...
Рейтинг: 0 / 0
Проблемы со списком файлов в listbox/combo
    #33086360
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Whitish Smoke2 Burn. О! Спасибо. Хорошие ответы. Кое-что у меня в голове прояснилось.
Если бы прочитал по ссылке, то прояснилось бы несколько раньше. Не пришлось бы ждать почти пол-дня. Там написано примерно то же самое, но более подробно.
...
Рейтинг: 0 / 0
Проблемы со списком файлов в listbox/combo
    #33086364
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм... Похоже все-таки читал. Извиняюсь. Только как-то странно ты читал. По сути, Burn просто повторил все то, что там и было сказано. Ну, разве что там не объяснено почему использование PUBLIC-переменных плохо.
...
Рейтинг: 0 / 0
Проблемы со списком файлов в listbox/combo
    #33086371
Whitish Smoke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иногда то же самое, но чуть другими словами сдвигает ситуацию с мёртвой точки :)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблемы со списком файлов в listbox/combo
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]