Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка Error creating window device context [D5, Win2k, WinXP]


vic_vm ©   (2003-05-06 15:57:00) 

Что это за ошибка такая
Error creating window device context ?
Причем возникает не регулярно, а лишь при каких-то непонятных обстоятельсвах


Morfein   (2003-05-07 16:08:00) [1]

>>бидно что нет какой-то закономерности...
>>Это вылазит очень редко, но иногда вылазит.

Вот поэтому я и говорю, что это нехватка ресурсов.


vic_vm   (2003-05-07 12:25:00) [2]

Up


vic_vm   (2003-05-06 23:04:00) [3]

2 nikkie
Это плагин....
Он создает окно в другом приложении...
http://www.vicscale.narod.ru/searchband.html

Обидно что нет какой-то закономерности...
Это вылазит очень редко, но иногда вылазит.


nikkie   (2003-05-06 23:00:00) [4]

>vic_vm
Если ресурсов хватает, то скорее всего WindowHandle - не есть valid hwnd.
Твое объяснение ничего не объяснило. Зачем твоему COM серверу понадобился device context? Это ActiveX? Что за приложение?


vic_vm   (2003-05-06 22:53:00) [5]

2 Morfein
Ну и что ?!!!!!
В этом месте можно вставить raise EPrinter...,
но это не значит что произошла ошибка при печати
Это специалисты Borland предпологают что если GetDC возвратила ноль, то скорее всего не хватает ресурсов...
А реальная причина не известна. Скорее всего прийдется вставлять вместо raise анализ GetLastError....


Morfein   (2003-05-06 21:35:00) [6]

Не, ну японский Бог... ты бы хоть перевёл название исключения!
EOutOfResources = Нехватка ресурсов!


vic_vm   (2003-05-06 21:31:00) [7]

>Ошибка в коде (неприведенном)
Во первых - это компонент (не мой), но дело не в этом...
Во вторых - все это появляется в Dll которая является COM сервером.

>Или нехватка графических ресурсов
Не думаю. Есть несколько экземпляров одного приложения к которым она подключена и что странно - в одном из них эта ошибка вылазит, в других - нет.

а вообще, если нужон исходный код то вот он - кусок из Controls.pas

function TWinControl.GetDeviceContext(var WindowHandle: HWnd): HDC;
begin
if csDesigning in ComponentState then
Result := GetDCEx(Handle, 0, DCX_CACHE or DCX_CLIPSIBLINGS)
else
Result := GetDC(Handle);
if Result = 0 then raise EOutOfResources.CreateRes(@SWindowDCError);
WindowHandle := FHandle;
end;

Вот именно тут это и вылазит
raise EOutOfResources.CreateRes(@SWindowDCError);

Это скорей всего какой-то из приколов Delphi, но почему он возникает и как с этим бороться?


Morfein   (2003-05-06 18:00:00) [8]

Или нехватка графических ресурсов... что тоже, в конечном счёте, есть ошибка в коде :)


Игорь Шевченко   (2003-05-06 17:27:00) [9]

Ошибка в коде (неприведенном)


Наверх

Титульная страница Поиск, карта сайта Написать письмо