Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.07;
Скачать: CL | DM;

Вниз

Ошибка Error creating window device context   Найти похожие ветки 

 
vic_vm ©   (2003-05-06 15:57) [0]

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


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

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


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

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


 
vic_vm ©   (2003-05-06 21:31) [3]

>Ошибка в коде (неприведенном)
Во первых - это компонент (не мой), но дело не в этом...
Во вторых - все это появляется в 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 21:35) [4]

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


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

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


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

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


 
vic_vm ©   (2003-05-06 23:04) [7]

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

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


 
vic_vm ©   (2003-05-07 12:25) [8]

Up


 
Morfein ©   (2003-05-07 16:08) [9]

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

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



Страницы: 1 вся ветка

Текущий архив: 2003.07.07;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
14-20216
Lionzi
2003-06-21 11:22
2003.07.07
WinXP D5 или запуск D7 на D5


1-20081
Smashich
2003-06-24 11:30
2003.07.07
Events And Word


1-20128
Артем К
2003-06-25 02:31
2003.07.07
Как разделить строку на слова?


14-20266
Мазут Береговой
2003-06-18 21:23
2003.07.07
Вот вам прикол, дорогие... :-)


3-20001
DmitryNekl
2003-06-13 13:10
2003.07.07
Как создать connectionstring у компонента ADOConnection в runtime