|
394 / 194 / 48
Регистрация: 11.07.2013
Сообщений: 1,210
|
||||||
EOSError 1400 “Недопустимый дескриптор окна”27.01.2014, 14:06. Показов 13495. Ответов 2
Метки нет (Все метки)
Программа (назовём её My1.exe ) периодически обращается из потока к COM-порту. На компьютере есть и другие программы, которые так же могут обращаться к порту или пользователь может указать номер отсутствующего порта. Короче, при неудаче выдаётся сообщение, что не удалось опросить порт и программа продолжает заниматься “другими делами”. Через определённый промежуток времени опрос порта повторяется и, если он свободен, то всё работает согласно алгоритму.
Столкнулся с проблемой. Если My1.exe обращалась хотя бы один раз к занятому или отсутствующему в системе порту, то при закрытии программы возникает ошибка: “Project My1.exe raised evception class EOSError with message “System Error Code: 1400. Недопустимый дескриптор окна.” И выдаётся сообщение: “Abnormal program termination”. Я понимаю, что с точки зрения ОС некорректно обращаться к занятому ресурсу, но тем не менее задачу надо решать… Запретить другим программам обращаться к порту я не имею права. На старых версиях (С++Builder-6) такой проблемы не было. Вот отрывок кода:
Добавлено через 1 час 4 минуты Обнаружил интересную особенность. Если функцию открытия порта (CreateFile) вызываю вне потока, то ошибка не возникает. Почему возникает ошибка, если в потоке осуществляется попытка к доступу занятому ресурсу?
0
|
||||||
| 27.01.2014, 14:06 | |
|
Ответы с готовыми решениями:
2
Недопустимый дескриптор окна. (Обмен сообщениями: TCP) EOSError 1400 "Недопустимый дескриптор окна" 'System Error. Code: 1400. Недопустимый дескриптор окна' |
|
5 / 5 / 2
Регистрация: 29.08.2012
Сообщений: 46
|
||||||||||||||||||||||||||
| 16.05.2014, 18:51 | ||||||||||||||||||||||||||
|
Аналогичная проблема. Создаю приложение, к которому подключаю DLL с формой. Задача в том, что приложение загоняет в DLL некие исходные данные, которые в DLL хранятся и обрабатываются. В DLL должна быть форма, которая должна вызываться из самой DLL внутри функции, которая будет вызываться из приложения. На этой форме могут редактироваться данные, которые приложение передало в DLL. Изменение этих данных будет влиять на значения других функций, хранящихся в DLL и вызываемых приложением.
Форму в DLL вставить получилось. Всё стандартно:
--------------------------- Debugger Exception Notification --------------------------- Project 1.exe raised exception class EAccessViolation with message 'Access violation at address 00342D82 in module '1.DLL'. Read of address 000002EC'. Process stopped. Use Step or Run to continue. Выкрутился так:
--------------------------- Debugger Exception Notification --------------------------- Project 1.exe raised exception class EOSError with message 'System Error. Code: 1400. Недопустимый дескриптор окна'. Process stopped. Use Step or Run to continue. --------------------------- Уже и дескрипторы перезакрывал, и терминэйтил - ниччё не помогает... Если решения не найду - буду через БД реализовывать, но не хотелось бы...
1
|
||||||||||||||||||||||||||
|
394 / 194 / 48
Регистрация: 11.07.2013
Сообщений: 1,210
|
|
| 17.05.2014, 23:48 [ТС] | |
|
Проблема с портом удалось решить: функции открытия порта и обмена перенёс в основную форму Unit1.cpp (до этого они были в Unit9.cpp). Ошибка при закрытии программы перестала возникать.
Заработало всё нормально, но причину так и не понял...
0
|
|
| 17.05.2014, 23:48 | |
|
Помогаю со студенческими работами здесь
3
System Error. Code 1400. Недопустимый дескриптор окна Недопустимый дескриптор окна Недопустимый дескриптор окна =) Ошибка Exception EOSError in module .... System error. Code: 1400. Invalid window handle. Нужно получить дескриптор окна имея дескриптор контрола Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|