powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Программа аварийно завершается(C0000005) под Windows 2003
12 сообщений из 12, страница 1 из 1
Программа аварийно завершается(C0000005) под Windows 2003
    #33301887
vklepko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Используется VFP8(SP1), MSXML4(SP2).

Нижеприведенный код корректно работает под Windows XP(SP2), Windows 2000(SP4) и не работает (программа аварийно завершается с C0000005 ) под Windows 2003 Enterprise Edition(SP1)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
Local loException,rdr,hnd
try

	rdr = CreateObject("MSXML2.SAXXMLReader.4.0")
	hnd = CreateObject("_XMLValidator")


	rdr.errorHandler = hnd
	
	* Valid XML
	rdr.parse("<catalog><book id='bk101'></book></catalog>")
	=MessageBox("Valid XML")

	* Invalid XML
	rdr.parse("<catalog><book id='bk101'></book></cataloge>")
	=MessageBox("Invalid XML. This message should never appear.")

Catch to loException
	=MessageBox(;
			Ltrim(Str(loException.ErrorNo))+;
			loException.Message+;
			Iif(IsNull(loException.Details),""," "+loException.Details))
Finally
EndTry

Define Class _XMLValidator as custom
	IMPLEMENTS IVBSAXErrorHandler IN {F5078F18-C551-11D3-89B9-0000F81FE221}# 4 . 0  
&&"c:\windows\system32\msxml4.dll"

**** IVBSAXErrorHandler
	PROCEDURE IVBSAXErrorHandler_error(;
             oLocator AS VARIANT, strErrorMessage AS STRING @, nErrorCode AS Number) AS VOID;
 	HELPSTRING "Receive notification of a recoverable error."
	* add user code here
		=MessageBox("Error")
	ENDPROC

	PROCEDURE IVBSAXErrorHandler_fatalError(;
             oLocator AS VARIANT, strErrorMessage AS STRING @, nErrorCode AS Number) AS VOID;
 	HELPSTRING "Receive notification of a non-recoverable error."
	* add user code here
		=MessageBox("Fatal Error")
	ENDPROC

	PROCEDURE IVBSAXErrorHandler_ignorableWarning(;
             oLocator AS VARIANT, strErrorMessage AS STRING @, nErrorCode AS Number) AS VOID;
             HELPSTRING "Receive notification of an ignorable warning."
	* add user code here
		=MessageBox("Ignorable Warning")
	ENDPROC
ENDDEFINE

Помогите, пожалуйста, понять причину и заставить работать.
Спасибо
...
Рейтинг: 0 / 0
Программа аварийно завершается(C0000005) под Windows 2003
    #33303782
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а на какой строке валится? По-моему там что-то с потоками в этом парсере. Он
вроде в мультитридед библиотеке не может вызываться для 64битных платформ


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Программа аварийно завершается(C0000005) под Windows 2003
    #33304040
vklepko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Валится на строке
Код: plaintext
rdr.parse("<catalog><book id='bk101'></book></cataloge>")

не понял на счет 64-bit платформ. Используется Windows Server 2003 Enterprise Edition 32-bit x86.

Спасибо
...
Рейтинг: 0 / 0
Программа аварийно завершается(C0000005) под Windows 2003
    #33304058
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй сделать то же например на васике в екселе. Вроде проблема именно в
версии парсера.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Программа аварийно завершается(C0000005) под Windows 2003
    #33304472
vklepko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В бейсике я не силён и на сервере Office не установлен.


Я сомневаюсь, что дело в версии парсера:
1) rdr.parse("<catalog><book id='bk101'></book></catalog>") - выполняется без проблем
2) Если мой код изменить следующим образом:
Код: plaintext
1.
*****	hnd = CreateObject("_XMLValidator")
	hnd = CreateObject("MSXML2.MXXMLWriter.4.0")

то C0000005 не поднимается. Но мне не нужен "MSXML2.MXXMLWriter.4.0" в качестве обработчика.

Мне кажется, что ошибка возникает когда парсер вызывает _XMLValidator.IVBSAXErrorHandler_fatalError или любой другой метод на фоксовском объекте. Не дружат они под 2003


Спасибо
...
Рейтинг: 0 / 0
Программа аварийно завершается(C0000005) под Windows 2003
    #33304497
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если

MSXML2.MXXMLWriter.4.0

работает а

MSXML2.MXXMLWriter

валится то дело скорей всего в том что старый метод использует какой-то код
недопустимый для 2003. Ничего особенного микрософтовские программисты тоже
люди. На вопрос "как быть" они скорей всего ответить "не использовать
устаревшие вызовы"


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Программа аварийно завершается(C0000005) под Windows 2003
    #33304522
vklepko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MSXML2.MXXMLWriter не используется и не проверялся.

Есть необходимость использовать экземпляр фоксовского объекта(_XMLValidator) на котором реализован интерфейс IVBSAXErrorHandler от MSXML4
...
Рейтинг: 0 / 0
Программа аварийно завершается(C0000005) под Windows 2003
    #33304872
vklepko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал выполнить тот же код на Windows 2003 for Small Business - всё работает нормально.

Думаю, что проблема в установках моего сервера Windows 2003 Enterprise Edition.



Вопрос снимается.
Спасибо
...
Рейтинг: 0 / 0
Программа аварийно завершается(C0000005) под Windows 2003
    #33305132
Maltsev Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй запустить из под другого профиля ...
...
Рейтинг: 0 / 0
Программа аварийно завершается(C0000005) под Windows 2003
    #33307633
vklepko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maltsev MaxПопробуй запустить из под другого профиля

Что значит другого профиля ?

Пробовал под различными user accounts в том числе администраторскими - результат тот же.
Все пользователи используют local profiles. Roaming profiles не используются вообще.

Спасибо
...
Рейтинг: 0 / 0
Программа аварийно завершается(C0000005) под Windows 2003
    #33307734
Maltsev Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vklepko Maltsev MaxПопробуй запустить из под другого профиля

Что значит другого профиля ?

Пробовал под различными user accounts в том числе администраторскими - результат тот же.
Все пользователи используют local profiles. Roaming profiles не используются вообще.

Спасибо

У меня на одной машине (тоже 2003), выскакивала такая ошибка, помогло пересоздание профиля. Правда не на долго ... Через месяц опять началось

На VFP 6.0 просто вылетал, а на VFP 8.0 успевал сказать, что вылетает :-)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Программа аварийно завершается(C0000005) под Windows 2003
    #34397272
vklepko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Похоже, что операционная система особого значения не играет.
На Windows XP SP2 Professional получил схожий результат.

Проблему решил укакзав в boot.ini параметр
/NoExecute=AlwaysOff
который управляет (в данном случае отключает)
DEP(Data Execution Prevention).

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


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