:: Visual Foxpro, Foxpro for DOS
Блокировка VarBinary в переменную
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
От Bo Durban
Если установлено
SET TALK ON
SET STATUS BAR OFF

то не работает
x = 0h40
Фокс блокирует присвоение.
Сам не проверял.
Ratings: 0 negative/0 positive
Re: Блокировка VarBinary в переменную
Sawradym

Сообщений: 2244
Откуда: Винница
Дата регистрации: 15.05.2007
Проверил. Мой повесился.
Ratings: 0 negative/0 positive
Re: Блокировка VarBinary в переменную
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
после установки, в командном окне:

SET STATUS BAR OFF
x=0h123

VFP перешел в состояние "не отвечает", перед этим он печатал пробелы на экран, строки "убежали" вверх... )

Странное описание в хелпе:
Тип данных Varbinary похож на Varchar, в котором значения не включают в себя дополняющие байты нулей (0). Длина содержащегося значения хранится внутренне системой.

Куда бы это применить?



Исправлено 1 раз(а). Последнее : of63, 28.05.09 19:01
Ratings: 0 negative/0 positive
Re: Блокировка VarBinary в переменную
Sawradym

Сообщений: 2244
Откуда: Винница
Дата регистрации: 15.05.2007
Хотя
x='test'+0h40
отрабатывает нормально
Ratings: 0 negative/0 positive
Re: Блокировка VarBinary в переменную
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Sawradym
Хотя
x='test'+0h40
отрабатывает нормально
Потому что это уже не будет "присвоение Varbinary"

Даже x=''+0h40 уже не Varbinary. А x=0h+'a' - уже не строка...

Баг есть в последней сборке 09.00.0000.7423 - у кого более старые отпишитесь...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Блокировка VarBinary в переменную
Sawradym

Сообщений: 2244
Откуда: Винница
Дата регистрации: 15.05.2007
09.00.0000.2412 - есть
Ratings: 0 negative/0 positive
Re: Блокировка VarBinary в переменную
Sawradym

Сообщений: 2244
Откуда: Винница
Дата регистрации: 15.05.2007
Ну, насколько я понял ситуацию, проблема не в присвоении, а в отображении результата при Set Talk On. Выводится бесконечная строка.
Я бы назвал ситуацию безобидной. На мой взгляд, это самый настоящий "сферический конь в вакууме".
Ratings: 0 negative/0 positive
Re: Блокировка VarBinary в переменную
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Змея, заглатывающая свой хвост, - наоборот и с изнанки
Ratings: 0 negative/0 positive
Re: Блокировка VarBinary в переменную
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
К сожалению это очень "не безобидно" - т.к. SET TALK для форм сложно подавить "сразу", и пара-тройка "присвоений" обычно успевает пройти (в нормальной системе с классами и прочим - когда из DE.BeforeOpenTables вызывается метод настройки, там ещё и датасессию порой надо переключить - короче есть нюансы ) - приходится потому держать статусбар включенным во всех прогах, даже где он и не особо полезен...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Блокировка VarBinary в переменную
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Очень не безобидно. Главное знать такое заранее.
Ratings: 0 negative/0 positive
Re: Блокировка VarBinary в переменную
Sawradym

Сообщений: 2244
Откуда: Винница
Дата регистрации: 15.05.2007
Ну, не знаю, у меня какраз в BeforeOpenTables класса DE все сеты и устанавливаются и пока что ни одна мышь не проскочила. Впрочем, не буду сильно спорить, это сугубо мое видение ситуации.
Ratings: 0 negative/0 positive
Re: Блокировка VarBinary в переменную
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Если не использовать форм (в смысле scx), или если проектировать DE для форм отдельно (подключая их потом через DEClass/DEClassLibrary), или если нарисовать построитель/мастер/препроцессор который для всех форм поместит в DE нужный код (во первых строках которого и будет отключение "болтовни") - тогда конечно нет проблем
В случае же "обычной" работы с scx и дизайном DE прямо в форме - увы и ах В 8-ке ещё был способ (багофича) якобы "субклассировать" DE (но и тогда при прописывании в DE кода нужно было не забыть про DODEFAULT - а т.к. он в принципе чего-то ещё и возвращает, то мы уже имеем одно присвоение, или в лучшем случае IF) - в 9-ке его убрали.

Ещё проще - отказаться совсем от DE настройки делать в Load (если там будет вызов реального метода установки настроек, то перед ним явно выключить Talk) - он замечательно согласуется с объектной идеологией в отличие от DE, для "своего" кода при перекрутии обработчика использовать IF DODEFAULT() ... Тоже в принципе не будет проблем.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Блокировка VarBinary в переменную
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Тут как раз и поможет bindevent+класс на форме, т.к. намеренно или нет код Init класса-родителя не будет затёрт.


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.
Ratings: 0 negative/0 positive
Re: Блокировка VarBinary в переменную
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Ничего не форме не срабатывает достаточно рано для того чтобы повлиять на DE в режиме загрузки формы. А "потом" уже бессмысленно дёргаться.


------------------
WBR, Igor
Ratings: 0 negative/0 positive


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

On-line: 20 Joys  (Гостей: 19)

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