Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2010, 12:54   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Правильное уничтожение того, что создал

В общем, насоздавал объектов, а что килять, что оставлять по уничтожению проги не дотюкаю - посеял исходники своего шаблона.
Код:
  CreateFont....
  CreateWindowEx...
  CreateWindow...
  DC := GetDC(...);
  DC := CreateCompatibleDC(..);
  Bitmap := CreateCompatibleBitmap(...);
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 05.11.2010, 13:01   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
CreateWindowEx...
CreateWindow...
Тут DestroyWindow
Цитата:
DC := GetDC(...);
DC := CreateCompatibleDC(..);
ReleaseDC

А вот с Битмапом не знаю...
DeleteObject ИМХО
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.11.2010, 13:06   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

О, благодарю!
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 05.11.2010, 14:44   #4
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
DeleteObject ИМХО
А FreeAndNil не прокатит?
_-Re@l-_ вне форума Ответить с цитированием
Старый 05.11.2010, 15:00   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А FreeAndNil не прокатит?
А это у Алекса не Делфи, это Win API, а в нем свои методы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.11.2010, 16:26   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

ReleaseDC требует два параметра. Кого там вторым запихнуть? (В смысле первым)
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ

Последний раз редактировалось Alex Cones; 05.11.2010 в 16:31.
Alex Cones вне форума Ответить с цитированием
Старый 05.11.2010, 16:32   #7
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

Цитата:
ReleaseDC Function

The ReleaseDC function releases a device context (DC), freeing it for use by other applications. The effect of the ReleaseDC function depends on the type of DC. It frees only common and window DCs. It has no effect on class or private DCs.
Syntax
Код:
int ReleaseDC(
  __in  HWND hWnd,
  __in  HDC hDC
);

hWnd
A handle to the window whose DC is to be released.

hDC
A handle to the DC to be released.
msdn......
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 05.11.2010, 16:33   #8
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Не ну я понял, что хендл окна-кого-то там. А вот кого, так и не врублюсь - поэтому спросил.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 05.11.2010, 18:58   #9
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Код:
My_DC:=GetDC(My_hWnd);
...
ReleaseDC(My_hWnd, My_DC);
Цитата:
А вот с Битмапом не знаю...
DeleteObject ИМХО
Хм... А если битмап к DC "приделали" то может и не надо уже?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 05.11.2010, 19:00   #10
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
Код:
My_DC:=GetDC(My_hWnd);
...
ReleaseDC(My_hWnd, My_DC);
Спасибо!
Цитата:
то может и не надо уже?
Сейчас вот так:
Код:
For I := 0 To Length(DSTR_List) - 1 Do
   If DSTR_List[I] = TRUE Then
    Begin
     DeleteObject(DSTR_Form[I]^.Warehouse.Buffer.Texture.BitMap);
     For J := 0 To Length(DSTR_Form[I]^.Warehouse.Texture) - 1 Do
      DeleteObject(DSTR_Form[I]^.Warehouse.Texture[J].BitMap);
     ReleaseDC(DSTR_Form[I]^.Image.DC, DSTR_Form[I]^.Warehouse.Buffer.DC);
     ReleaseDC(DSTR_Form[I]^.Image.Handle, DSTR_Form[I]^.Image.DC);
     DestroyWindow(DSTR_Form[I]^.Image.Handle);
     DestroyWindow(DSTR_Form[I]^.Handle);
    End;
Что-то неправильно?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как реализовать функцию для того что бы скопировать элементы одного массива во второй в обратном порядке mansp Общие вопросы C/C++ 8 28.10.2010 15:48
Что это такое и как это того... Alex Cones Общие вопросы Delphi 2 11.10.2009 12:04
Не хватает памяти.Из-за того, что Паскаль старый? delphyok Паскаль, Turbo Pascal, PascalABC.NET 4 17.05.2009 15:49
switch или что-нибудь типа того ДядяМиша PHP 3 30.04.2009 08:17
ошибка, после того как я создал запись 'fayl' ZhekON Общие вопросы Delphi 15 01.04.2007 13:39