![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 27.03.2009
Сообщений: 27
|
![]()
Написал прогу с com-объектом. Но во время выполнения одного из методов этого объекта (объект грамматически анализирует слово, злополучный метод загружает словари для определения слова) возникает исключение EAccessViolation.
Что это значит и как бороться? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
это значит что программа обращается к чужой памяти(неверный указатель/несуществующий обьект и тд)
прошерстить код и использовать защищенные блоки Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 27.03.2009
Сообщений: 27
|
![]()
Код метода написан не мной довольно сложен, проверить не смогу. А что такое защищенные блоки?
|
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
В действительности нужно код смотреть
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
защищенные блоки
Код:
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 27.03.2009
Сообщений: 27
|
![]()
Не происходит инициалиазции этого объекта. Переменная HRESULT равна 1, а должан быть S_OK, если я все правильно понимаю. Что означает 1?
|
![]() |
![]() |
![]() |
#7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Вызови RaiseLastWin32Error чтоб посмотреть текст ошибки.
I'm learning to live...
Последний раз редактировалось Stilet; 06.07.2009 в 13:43. |
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 27.03.2009
Сообщений: 27
|
![]()
А что это такое RaiseLastWin32Error, функция? Как ее использовать?
Процедура вызвала сообщение: Project <project-name> raised exception class EOSError with message 'A call to an OS function failed'. К чему бы это? Последний раз редактировалось Stilet; 30.07.2009 в 16:14. |
![]() |
![]() |
![]() |
#9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Код:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 27.03.2009
Сообщений: 27
|
![]()
hr := CoInitialize(nil);
if (hr <> S_OK) then begin RaiseLastWin32Error; end Вот так я применил процедуру и она выдала текст: Project <project-name> raised exception class EOSError with message 'A call to an OS function failed'. Что это значит? CoInitialize это API'шная функция? |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Еще раз о EAccessViolation. | Andre1723 | Общие вопросы Delphi | 12 | 23.02.2009 01:39 |
Ошибка: "EAccessViolation with message..." | Ravnica | Помощь студентам | 4 | 04.11.2007 20:46 |
Ошибка EAccessViolation | num8er | Общие вопросы Delphi | 6 | 10.10.2007 08:00 |
то такое мастерство в программировании, что такое мастер программист и что он может? | Cezar | Свободное общение | 29 | 02.06.2007 23:48 |
А что, если всем объедениться и создать что-нибудь глобальное? | kuzmich | Свободное общение | 61 | 31.05.2007 21:01 |