for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Лисоводы   всех   стран,  объединяйтесь !!!  

Список Форумов  :: Visual Foxpro, Foxpro for DOS
  

Блокировка VarBinary в переменную
Ydin
Автор

Сообщений: 6878
Откуда: Киев
Дата: 28.05.09 18:16:42
От Bo Durban
Если установлено
SET TALK ON
SET STATUS BAR OFF

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

Re: Блокировка VarBinary в переменную
Sawradym

Сообщений: 1975
Откуда: Винница
Дата: 28.05.09 18:55:49
Проверил. Мой повесился.
Ratings: 0 negative/0 positive

Re: Блокировка VarBinary в переменную
of63

Сообщений: 19793
Откуда: Н.Новгород
Дата: 28.05.09 18:58:05
после установки, в командном окне:

SET STATUS BAR OFF
x=0h123

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

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

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



Исправлено: of63, 28.05.09 19:01
Ratings: 0 negative/0 positive

Re: Блокировка VarBinary в переменную
Sawradym

Сообщений: 1975
Откуда: Винница
Дата: 28.05.09 19:05:49
Хотя
x='test'+0h40
отрабатывает нормально
Ratings: 0 negative/0 positive

Re: Блокировка VarBinary в переменную
Igor Korolyov

Сообщений: 33760
Дата: 28.05.09 20:38:11
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

Сообщений: 1975
Откуда: Винница
Дата: 28.05.09 21:36:50
09.00.0000.2412 - есть
Ratings: 0 negative/0 positive

Re: Блокировка VarBinary в переменную
Sawradym

Сообщений: 1975
Откуда: Винница
Дата: 28.05.09 21:51:59
Ну, насколько я понял ситуацию, проблема не в присвоении, а в отображении результата при Set Talk On. Выводится бесконечная строка.
Я бы назвал ситуацию безобидной. На мой взгляд, это самый настоящий "сферический конь в вакууме".
Ratings: 0 negative/0 positive

Re: Блокировка VarBinary в переменную
Ydin
Автор

Сообщений: 6878
Откуда: Киев
Дата: 29.05.09 10:45:10
Змея, заглатывающая свой хвост, - наоборот и с изнанки
Ratings: 0 negative/0 positive

Re: Блокировка VarBinary в переменную
Igor Korolyov

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


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

Re: Блокировка VarBinary в переменную
Ydin
Автор

Сообщений: 6878
Откуда: Киев
Дата: 03.06.09 10:47:20
Очень не безобидно. Главное знать такое заранее.
Ratings: 0 negative/0 positive

Re: Блокировка VarBinary в переменную
Sawradym

Сообщений: 1975
Откуда: Винница
Дата: 03.06.09 12:46:22
Ну, не знаю, у меня какраз в BeforeOpenTables класса DE все сеты и устанавливаются и пока что ни одна мышь не проскочила. Впрочем, не буду сильно спорить, это сугубо мое видение ситуации.
Ratings: 0 negative/0 positive

Re: Блокировка VarBinary в переменную
Igor Korolyov

Сообщений: 33760
Дата: 03.06.09 15:09:30
Если не использовать форм (в смысле 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
Откуда: Ростов-на-Дону
Дата: 03.06.09 15:19:02
Тут как раз и поможет bindevent+класс на форме, т.к. намеренно или нет код Init класса-родителя не будет затёрт.


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

Re: Блокировка VarBinary в переменную
Igor Korolyov

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


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



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

On-line: 4 Taran  (Гостей: 3)

27.10.2020 06:34:22 exec: 0.04
Mem: 1.396 Mb

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