:: Visual Foxpro, Foxpro for DOS
Internal consistency error при работе с XAD
BladeRunner
Автор

Сообщений: 50
Дата регистрации: 14.06.2004
Доброго времени суток!

При выполнении следующего кода происходит выпадение Лиса в осадок:

ThisForm.AddObject ('xad_XMLData', 'XMLAdapter')
WITH ThisForm.xad_XMLData
.LoadXML (GETFILE(), .T.)
ENDWITH

Это код метода Click кнопки располагаемой на форме.

P.S.: Коль зашла речь о XML, поделитесь пожалуйста опытом, если кто-нибудь из вас такое проделывал - подключить XML-файл к CURSORADAPTER! Без использования XMLAdapter, если такое вообще возможно.
Ratings: 0 negative/0 positive
Re: Internal consistency error при работе с XAD
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Я пользовал либо свободноживущие (в LOCAL переменных) объекты XAD, либо
созданные как "прикреплённые" к другому объекту, а не как "внедрённые" в
него (т.е. формально они не являлись member-объектами класса).
Т.е. так:

LOCAL loXAD
loXAD = CreateObject("XMLAdapter")
m.loXAD...

или так:

ThisForm.AddProperty("oXAD", CREATEOBJECT("XMLAdapter"))
ThisForm.oXAD...

Если свойство-хранитель создать заранее (статически, как часть описания
класса), тогда вот так:

ThisForm.oXAD = CreateObject("XMLAdapter")

Если нужна обратная связь от XAD к контейнеру (This.Parent работать
естественно не будет), то организуй её явно - передачей ссылки - либо в
конструктор (Init), либо просто сразу после создания объекта из кода где был
CreateObject()

Как я понимаю невозможность "внедрения" XAD в контейнер связана с его
сложной динамической стурктурой. Возможно это поправимо, но лично я не
испытываю особого дискомфорта от такой вот "особенности" XAD-а (он всё равно
будет оставаться невизуальным классом, Event-ов он не имеет, свои методы
всегда можно поместить в класс-компаньон/класс-оболочку, или в тот контейнер
куда будет добавляться XAD).

Насчёт "подключить XML без XAD" - никаких проблем в этом нету - посмотри
(проанализируй) внимательно код в Samples\WebServices файл никак не может
быть "подключён", но вот организивать загрузку из него можно и без помощи
XAD, хотя IMHO для того и придуман этот класс, чтобы облегчить процесс
загрузки/выгрузки/получения апдейтаграмм для сложных документов,
ограниченный ранее XMLToCursor/CursorToXML/XMLUPDATEGRAM.




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Internal consistency error при работе с XAD
BladeRunner
Автор

Сообщений: 50
Дата регистрации: 14.06.2004
Спасибо Игорь! Я как-то не догадался в WebServices заглянуть, только в Solutions толокся

Что-же до ошибки, меня так-же не напрягает создать свойство объекта-контейнера, просто ещё одна "сопля в кристалле". Больше раздражает, когда Лис начинает вдруг забывать шрифты для Debugger'а, причём напрочь! Приходится лезть в любимый Regedit.exe и поправлять руками
Ratings: 0 negative/0 positive
Re: Internal consistency error при работе с XAD
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Пожалуйста Недаром ещё в 1998 году Дуг Хенниг накропал статейку о "золоте
в FFC" (должна быть доступна свободно в MSDN и на сайте MS) - типа чтоб все
внимательно изучали что-же полезного есть в поставке фокса Там то
"самого фокса" всего 10 Мегов против >45Мегов сэмплов, утилей, FFC и прочего
добра

Меня последнее время сильно стало напрягать то, что фокс как-то странно
запоминает размеры Command окна (в 8-ке и 9-ке) - оно постоянно "урезается".
Причём если его закрыть/спрятать "ручками" перед закрытием фокса, то всё ок,
а иначе - беда
Что и где попортилось - непонятно... Дома причём всё тип-топ, а вот на
работе шуткует Надо будет все настройки перенести как-нить... Может он
где-то запомнил то разрешение монитора что раньше стояло (недавно поменяли
на LCD-ку а там 1024*768 против прежних 800*600) и теперь "обрезает" окно
под старые пределы...
А с шрифтами дебаггера я как-то не обращал особо внимания, но вроде всё было
нормально... Может настала нам пора vfpclean.app запустить и заново всё
настроить?




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Internal consistency error при работе с XAD
BladeRunner
Автор

Сообщений: 50
Дата регистрации: 14.06.2004
Да, была такая беда, но скажу честно, думать и ковыряться в этом вопросе желания не было (хотя напрягало однозначно!) ... просто экспортировал две ветки реестра и ресурсный файл перенеся их с "рабочей" машины на "нерабочую" ... и вылечилось.
Ratings: 0 negative/0 positive
Re: Internal consistency error при работе с XAD
Syberex

Сообщений: 1432
Откуда: Кострома
Дата регистрации: 19.01.2004
Цитата:
недавно поменяли
на LCD-ку а там 1024*768 против прежних 800*600) и теперь "обрезает" окно
под старые пределы...
Да, 800*600 это мягко сказать неудобно ;) , вот приходится 1024*768
не смотря на частоту ...
А как LCD-шка для глаз? (сразу после долгого ЭЛТ)




------------------
Ratings: 0 negative/0 positive
Re: Internal consistency error при работе с XAD
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Да также... Т.е. не хуже, но и не лучше... Пришлось шрифты увеличивать
(зрение то не фонтан, а 1024*768 на 15'' это прям скажем мелковато),
ClearType тоже пришлось включить - получил в FAR проблемы с перерисовкой
(вертикальные штришки после диалогов/ползунов проявляются - ну т.е. с
перерисовкой какие-то проблемы).
В общем менять свой домашний Samsung 700NE на подобный TFT я бы не стал.




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Internal consistency error при работе с XAD
Владимир Максимов

Сообщений: 14100
Откуда: Москва
Дата регистрации: 02.09.2000
Поставили мне на работе LCD (NEC 1501)

Хреново и непривычно. Все как в тумане. В прямом смысле. Другая схема организации яркости и контрастности.

Хотя, может я его слишком далеко отставил? Место-то освободилось ;)




------------------
Ratings: 0 negative/0 positive


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

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

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