Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / мистика в VFP8 / 13 сообщений из 13, страница 1 из 1
17.02.2004, 12:48
    #32411727
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мистика в VFP8
Переводим нашу АБС с VFP7 на VFP8. Вроде пока все более менее - кроме одной фигни: наткнулись мы на syntax error в одной из форм (при этом фокс просто пишет в окошке что ошибка - но выполнение не прерывает и даже результат этой, ошибочной, строчки получается правильным) - стали смотреть - окозалось что ошибку вызывает строка

Код: plaintext
1.
this.txtLabel1.Caption = '====='

После такого - даже как-то не смешно стало (это на VFP8 SP1)....

Может у кого такое уже было?
...
Рейтинг: 0 / 0
17.02.2004, 13:27
    #32411823
NNN
NNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мистика в VFP8
Это не баг, это фича
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
oForm=NEWOBJECT('form')
oForm.AddObject('oLabel','label')
oForm.Visible= .T.
oForm.oLabel.Visible= .T.
oForm.oLabel.AutoSize= .T. 
oForm.oLabel.Caption='='          && Syntax error
oForm.oLabel.Caption=CHR( 61 )      && Syntax error
oForm.oLabel.Caption='=CHR(61)'   && Syntax error (?)
oForm.oLabel.Caption='=SYS(0)'
oForm.Caption='=SYS(0)'
_screen.Caption='=SYS(0)'

Enhancements to Visual FoxPro Designers
Table Designer enhancements
Building expressions in Caption field
...
Рейтинг: 0 / 0
17.02.2004, 13:48
    #32411897
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мистика в VFP8
NNN

Огромное спасибо - а почему так происходит? Т.е. я так понимаю теперь в VFP можно для caption написать код который раньше пришлось бы писать в refresh?

А как теперь прсвоить caption'у строку из знаков '='?
...
Рейтинг: 0 / 0
17.02.2004, 13:55
    #32411919
Crip
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мистика в VFP8
this.txtLabel1.Caption = replicate("=",5)
...
Рейтинг: 0 / 0
17.02.2004, 13:57
    #32411924
Crip
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мистика в VFP8
ой облажался :)
...
Рейтинг: 0 / 0
17.02.2004, 14:03
    #32411947
Crip
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мистика в VFP8
работает только
this.txtLabel1.Caption = ' ====='
кошмар какой :)
...
Рейтинг: 0 / 0
17.02.2004, 14:04
    #32411949
Crip
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мистика в VFP8
ИМХО баг
...
Рейтинг: 0 / 0
17.02.2004, 14:09
    #32411965
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мистика в VFP8
Crip - я так понял что в VFP8 сделали возможность указывать в Caption что-то что будет вычисляться динамически при refresh'е - т.е. мы можем написать

Код: plaintext
1.
...Caption = '=SomeFunc()'

и он будет это вычислять каждый раз

Т.е. в моем случае VFP решил что за '=' должно идти вычисляемое выражение - и соотвественно обломался...

В общем - надо к этой фиче привыкнуть
...
Рейтинг: 0 / 0
17.02.2004, 14:16
    #32411978
NNN
NNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мистика в VFP8
Ага, фигня какая-то именно с Label происходит. Даже ON ERROR не срабатывает..
Там рекурсия что ли?
Код: plaintext
oForm.oLabel.Caption='="=[=SYS(0)]"'


> А как теперь прсвоить caption'у строку из знаков '='?

А вот фиг его знает.. Разве что:
Код: plaintext
1.
oForm.oLabel.Caption=' ====='
oForm.oLabel.Caption=='\<====='

Проще картинку нарисовать..
...
Рейтинг: 0 / 0
17.02.2004, 14:22
    #32411997
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мистика в VFP8
а если вот так?
Код: plaintext
this.Caption =  "=REPLICATE('=',5 )"
...
Рейтинг: 0 / 0
17.02.2004, 14:31
    #32412012
АлександрК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мистика в VFP8
Все равно ошибку выдает.
Вариант NNN с пробелом в начале проходит без ошибки.
...
Рейтинг: 0 / 0
17.02.2004, 15:32
    #32412184
VitalyT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мистика в VFP8
Попробуй
this.Caption =" "+"REPLICATE('=',5)"
или
this.Caption =chr(32)+"REPLICATE('=',5)"

У меня отработало без ошибок.
В дизайнере форм:=" "+"="
...
Рейтинг: 0 / 0
18.02.2004, 09:07
    #32412894
NNN
NNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мистика в VFP8
ЗЫ
INFO: List of Bugs That Are Fixed in Microsoft Visual FoxPro 8.0 Service Pack 1
Label - When you set the Caption property to a built-in property with a blank value (such as, Caption = '=thisform.tag') you receive the following error message:
There is not sufficient memory to complete this operation

Похоже, один баг исправили, один добавили..
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / мистика в VFP8 / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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