Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Array v ComboBoxe  [new]
PAUL fARB
Member

Откуда:
Сообщений: 22
Y menya na forme est' 3-option groups and 3-combobox
mne nado, chto by kogda vybiraesh odny option, to informaciya v combo1 menyaetsya(select statement). To zhe samoe dlya combo2 i combo3(option2 i option3). V ideale ya by xotel imet' odin combobox dlya etix 3-x options.
Esli ya delaju Rowsourcetype - 6.fields, to vse rabotaet no ne fil'tryet kak mne nado.
Esli ya delaju SQL Statement -6, to vse rabotaet kak mne nado, no ya nemogy soxranit'.
Esli ya delaju Array - 5, to vse vremya polychaju oshibky, chto moj Array ne Array.
Pomogite Pozhalysta kto mozhet.
7 мар 05, 20:42    [1369313]     Ответить | Цитировать Сообщить модератору
 Re: Array v ComboBoxe  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Проблема в области видимости этого массива. Если область видисмости переменной памяти (или массива) не объявлены явно, то она получает область видимости PRIVATE. Это значит, что она уничтожается по завершении того метода или события, где была создана.

При работе с формами надо использовать свойства (properties) формы типа массив. На то, что данная пропертя является массивом указывает размерность проперти. Достаточно указать размерность 1.

Обращение к этому массиву будет как к обычной переменной прамяти примерно так:

ThisForm.aArray(1,1)
8 мар 05, 12:06    [1369598]     Ответить | Цитировать Сообщить модератору
 Re: Array v ComboBoxe  [new]
PAUL fARB
Member

Откуда:
Сообщений: 22
ВладимирМ
Проблема в области видимости этого массива. Если область видисмости переменной памяти (или массива) не объявлены явно, то она получает область видимости PRIVATE. Это значит, что она уничтожается по завершении того метода или события, где была создана.

При работе с формами надо использовать свойства (properties) формы типа массив. На то, что данная пропертя является массивом указывает размерность проперти. Достаточно указать размерность 1.

Обращение к этому массиву будет как к обычной переменной прамяти примерно так:

ThisForm.aArray(1,1)


K SOZHELENIJU YA NAVERNO NEZNAJU KAK ETO VSE DELAT' LIBO YA DELAJU CHTO TO NE TO.
ETO TO CHTO YA SEJCHAS IMEJU:


FORM1::ADDPROPERTY
------------------------
AddProperty(THISFORM.COMBO1_ARR, COMBO1_ARR(1), 1)
AddProperty(THISFORM.COMBO2_ARR, COMBO2_ARR(1), 1)
AddProperty(THISFORM.COMBO3_ARR, COMBO3_ARR(1), 1)

COMBO1::INIT
----------------
SELECT DISTINCT DEPT_NAME, DEPT_ID FROM DEPARTMENTS WHERE FLAGS LIKE "N" INTO ARRAY THISFORM.COMBO1_ARR

COMBO2::INIT
-------------
SELECT DISTINCT GROUP_NAME, GROUP_ID FROM GROUPS WHERE FLAGS LIKE "L" INTO ARRAY THISFORM.COMBO2_ARR

COMBO3::INIT
--------------
SELECT DISTINCT GROUP_NAME, GROUP_ID FROM GROUPS;
WHERE FLAGS LIKE "M" INTO ARRAY THISFORM.COMBO3_ARR

CHTO YA PROPYSTIL???
8 мар 05, 17:32    [1369785]     Ответить | Цитировать Сообщить модератору
 Re: Array v ComboBoxe  [new]
Ilhom_uz
Member

Откуда:
Сообщений: 212
В форм дизайнере меню Form смотри.
Там выбери addproperty...
9 мар 05, 06:44    [1370209]     Ответить | Цитировать Сообщить модератору
 Re: Array v ComboBoxe  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Ну, ты хоть пиши где ошибка-то! Мы же не заглядываем тебе через плечо.

На первый взгляд. Зачем ты модифицируешь метотод AddProperty? Либо добавляй эти проперти в режиме дезайнера (Пункт системного меню Form - New Property или Edit Property / Method)

А если так уж хочется программно, то в событии INIT - формы ДО выполнения запросов

ThisForm.AddProperty("COMBO1_ARR[1,1]")
ThisForm.AddProperty("COMBO2_ARR[1,1]")
ThisForm.AddProperty("COMBO3_ARR[1,1]")

Но в этом случае, там же в Init-формы придется прописать свойства ComboBox, поскольку в дезайнере этих свойств еще нет. События INIT для ComboBox выполняются ДО Init-формы. Т.е. опять же, при программном создании этих свойств все настройки надо делать в INIT-формы.
9 мар 05, 09:56    [1370471]     Ответить | Цитировать Сообщить модератору
 Re: Array v ComboBoxe  [new]
PAUL fARB
Member

Откуда:
Сообщений: 22
K SOZHELENIJU S ARRAYEM TAK I NE POLYCHILO', NO SDELAL VSE KAK XOTELOS'(V SMYSLE, VSE RABOTAET), NO DRYGIM PYTEM. SPASIBO VSEM KTO OTKLIKNYLSYA!!!
11 мар 05, 16:27    [1379353]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить