Как освободить указатель для Windows в Delphi 7? - PullRequest
2 голосов
/ 15 июня 2010

Я использую сторонний инструмент, который указывает на изображения в памяти с помощью дескриптора окна.

Статистика инструмента, за которую вы отвечаете за освобождение дескриптора.Итак, как бы вы освободили эту ручку в Delphi 7?Тип данных для ручки LONG

Ответы [ 2 ]

15 голосов
/ 15 июня 2010

Если инструмент говорит вам, что вы несете ответственность за очистку, то он также должен был сказать вам, что вы должны использовать. Присмотритесь к документации.

Тебе нужно быть более конкретным в отношении того, какая у тебя ручка. Там нет ни одной функции, которая освобождает все виды ручек.

Большинство объектов ядра (объекты мьютекса, потоки, процессы, файлы, каналы, события и т. Д.) Используют CloseHandle.

Если у вас действительно есть дескриптор изображения, такой как HBitmap или HIcon, тогда вы свободны с DeleteObject.

Оконные ручки (HWND) выпускаются с DestroyWindow.

Возможно, у вас есть дескриптор памяти, возвращаемый GlobalAlloc; используйте для этого GlobalFree.

Возможно, это вообще не дескриптор Windows. Это может быть дескриптор, специфичный для API вашего инструмента, который требует специфической для API функции для его уничтожения.

Суть в том, что вам нужно знать, что у вас есть.

3 голосов
/ 15 июня 2010

Обычно вы используете CloseHandle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...