Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> хендл 
:(
    Опции темы
Михалыч
Дата 23.2.2015, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 472
Регистрация: 1.7.2008

Репутация: нет
Всего: нет



Ставлю в таймер с интервалом на 1 секунда код, но после 5-10 секунд работы , программа виснит, как исправить?
Код

var
Caption: PChar;
Wnd: HWnd;
begin
Caption:= AllocMem(SizeOf(Byte));
Wnd:= GetForegroundWindow;
GetWindowText(Wnd, Caption, 255);
Form1.Memo1.Lines.Add(StrPas(Caption));
end;




--------------------
За частый поиск был забанен во всех известных поисковых системах.
Обиженных  комодераторов: 1 
PM MAIL   Вверх
Vas
Дата 23.2.2015, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 4
Всего: 28



А освобождать память кто будет?
Цитата

AllocMem allocates a block of the given Size on the heap, and returns the address of this memory. Each byte in the allocated buffer is set to zero. To dispose of the buffer, use FreeMem. If there is not enough memory available to allocate the block, an EOutOfMemory exception is raised. 



--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Михалыч
Дата 23.2.2015, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 472
Регистрация: 1.7.2008

Репутация: нет
Всего: нет



Да, спасибо, с праздником! smile  smile 


--------------------
За частый поиск был забанен во всех известных поисковых системах.
Обиженных  комодераторов: 1 
PM MAIL   Вверх
kami
Дата 24.2.2015, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Код

GetWindowText(Wnd, Caption, 255);

Продолжай в том же духе и испорченная память гарантирована.
С чего вдруг взялось значение 255, если выделен всего 1 байт, которого с трудом хватит на терминальный 0 ?
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.