Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.07.07;
Скачать: [xml.tar.bz2];

Вниз

Ошибка 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.07.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
1-20110
clickmaker
2003-06-24 12:16
2003.07.07
Альтернативы CoMarshalInterThreadInterfaceInStream


3-20012
Status_I
2003-06-15 00:00
2003.07.07
Все те же даты


14-20221
EgorKA
2003-06-22 19:08
2003.07.07
Код клавиши - вверх...


1-20146
maxic
2003-06-25 10:50
2003.07.07
Проблемы с dll


14-20294
Vlad Oshin
2003-06-19 07:48
2003.07.07
какая программа периодически создает каталог с: KPCMS





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский