:: Visual Foxpro, Foxpro for DOS
странность с dimension
danton1973
Автор

Сообщений: 143
Откуда: Пермь
Дата регистрации: 10.08.2020
имеется динамически изменяемый массив laExtStr
dimension laExtStr[1,2]
laExtStr[1,1]=1
laExtStr[1,2]=2
значения в массиве есть
dimension laExtStr[2,2]
все значения в массиве становятся .F.
какая настройка фокса может отвечать за это?
VFP 9.0 без сервис паков
Win 10 x64
Ratings: 0 negative/0 positive
Re: странность с dimension
PaulWist

Сообщений: 14616
Дата регистрации: 01.04.2004
Команда

dimension laExtStr[2,2]
Цитата:
Creates a one-dimensional or two-dimensional array of variables.

те массив пересоздаётся.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: странность с dimension
danton1973
Автор

Сообщений: 143
Откуда: Пермь
Дата регистрации: 10.08.2020
если делать в командной строке, то не пересоздаётся, а изменяет размеры с сохранением данных. В help так написано, что изменяются размеры, но данные переносятся.
Ratings: 0 negative/0 positive
Re: странность с dimension
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
danton1973
если делать в командной строке, то не пересоздаётся, а изменяет размеры с сохранением данных. В help так написано, что изменяются размеры, но данные переносятся.
Именно. Так и есть.
А вот
danton1973
значения в массиве есть
dimension laExtStr[2,2]
все значения в массиве становятся .F.
говорит о создании нового массива. С областями видимости переменных/массивов надо бы разобраться.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: странность с dimension
danton1973
Автор

Сообщений: 143
Откуда: Пермь
Дата регистрации: 10.08.2020
Local array laExStr(1)
Ratings: 0 negative/0 positive
Re: странность с dimension
PaulWist

Сообщений: 14616
Дата регистрации: 01.04.2004
Давай репо-код показывающий проблему, а то гадать ещё долго будем.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: странность с dimension
danton1973
Автор

Сообщений: 143
Откуда: Пермь
Дата регистрации: 10.08.2020
Репо код это что?
Ratings: 0 negative/0 positive
Re: странность с dimension
PaulWist

Сообщений: 14616
Дата регистрации: 01.04.2004
danton1973
Репо код это что?

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

Например:

local marray(2)
STORE 'A' TO marray(1)
STORE 'B' TO marray(2)
CLEAR
? 'marray(4) in main prog'
?marray(1)
?marray(2)
aa()
RETURN
FUNCTION aa
DIMENSION marray(4)
? 'marray(4) in sub prog'
?marray(1)
?marray(2)
ENDFUNC


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: странность с dimension
danton1973
Автор

Сообщений: 143
Откуда: Пермь
Дата регистрации: 10.08.2020
Local array laExStr(1)
If thisform.addfield
dimension laExtStr[thisform.level,2]
laExtStr[thisform.level,1]=1
laExtStr[thisform.level,2]=2
Endif
Ratings: 0 negative/0 positive
Re: странность с dimension
PaulWist

Сообщений: 14616
Дата регистрации: 01.04.2004
danton1973
Local array laExStr(1)
If thisform.addfield
dimension laExtStr[thisform.level,2]
laExtStr[thisform.level,1]=1
laExtStr[thisform.level,2]=2
Endif

Отлично

Разницу между laExStr и laExtStr видите?


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: странность с dimension
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
danton1973
имеется динамически изменяемый массив laExtStr
dimension laExtStr[1,2]
laExtStr[1,1]=1
laExtStr[1,2]=2
значения в массиве есть
dimension laExtStr[2,2]
все значения в массиве становятся .F.
какая настройка фокса может отвечать за это?
VFP 9.0 без сервис паков
Win 10 x64

Попробуйте установить SET COMPATIBLE OFF
Ratings: 0 negative/2 positive
Re: странность с dimension
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
2 lulgu
PaulWist уже все сказал ведь!
А так уже стреляешь прицельно!
Цитата:
SET COMPATIBLE OFF
Тут оно ни при чем
Commands and functions affected by SET COMPATIBLE include LIKE( ), PLAY MACRO, SELECT( ), and STORE (when STORE is used with arrays).



Исправлено 2 раз(а). Последнее : Ydin, 28.01.21 20:22
Ratings: 0 negative/0 positive
Re: странность с dimension
akvvohinc

Сообщений: 4213
Откуда: Москва
Дата регистрации: 11.11.2008
Ydin
Тут оно ни при чем

Автор, скорее всего, просто ошибся, приводя пример (который вообще ни о чем).
А реальная проблема как раз в SET COMPATIBLE ON - именно так ведет себя DIMENSION при такой настройке.
Ratings: 0 negative/0 positive
Re: странность с dimension
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Так а реальной проблемы просто нет, пока не появится LIKE( ), PLAY MACRO, SELECT( ), and STORE (when STORE is used with arrays) или еще что-то.
Но их нет и нет проблемы.

Проблема -
Разницу между laExStr и laExtStr видите?
И Set Compatible не спасет. Но Lulgu прицельно бьет! Лайкнул.



Исправлено 4 раз(а). Последнее : Ydin, 28.01.21 22:48
Ratings: 0 negative/0 positive
Re: странность с dimension
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
PaulWist

Разницу между laExStr и laExtStr видите?

Раз уж патриарх прицельно просит: От этого замечания ничего не изменится(не считая странного IF).



Исправлено 1 раз(а). Последнее : lulgu, 29.01.21 00:45
Ratings: 0 negative/0 positive
Re: странность с dimension
akvvohinc

Сообщений: 4213
Откуда: Москва
Дата регистрации: 11.11.2008
Ydin
Так а реальной проблемы просто нет, пока не появится LIKE( ), PLAY MACRO, SELECT( ), and STORE (when STORE is used with arrays) или еще что-то.
Ждать ничего не нужно - Help написан давно, и, как говорится - "зеленее не будет":
Цитата:
When the size of an array is increased or decreased when SET COMPATIBLE is set to ON or DB4, the value of each element in the array is reinitialized to .F.

Можно считать это ответом на вопрос автора:
Цитата:
какая настройка фокса может отвечать за это?



Исправлено 1 раз(а). Последнее : akvvohinc, 29.01.21 00:46
Ratings: 0 negative/0 positive
Re: странность с dimension
danton1973
Автор

Сообщений: 143
Откуда: Пермь
Дата регистрации: 10.08.2020
Вот: оно самое. Спасибо
Ratings: 0 negative/0 positive
Re: странность с dimension
sphinx

Сообщений: 31179
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Получается, что Лулгу победил.


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: странность с dimension
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Там не так легко, но рад, что по Вашему
Получается, что Лулгу победил.
И давайте это оценим! И без обид на ту хрень, что он раньше нес.
Если что - вспомним



Исправлено 3 раз(а). Последнее : Ydin, 29.01.21 19:27
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 21 kornienko_ru  (Гостей: 20)

© 2000-2024 Fox Club 
Яндекс.Метрика