Тема: L2PacketHack 3.5.x
Показать сообщение отдельно
Старый 23.09.2008, 08:35   #186
Пользователь
 
Регистрация: 10.10.2007
Сообщений: 39
Сказал Спасибо: 0
Имеет 7 спасибок в 5 сообщенях
Argot
По умолчанию

Цитата:
Сообщение от NLObP Посмотреть сообщение
Подскажите, как устранить здесь утечку памяти?

delphi Код:
const   {The name of the debug info support L2phx}   StartLocalServer = 'На %d зарегистрирован локальный сервер';   FailedLocalServer = 'Неудалось зарегистрировать локальный сервер на порте %d'+ #13#10+ 'Возможно этот порт занят другим приложением';   CreateNewConnect = 'Создано новое соединение - %d';   ConnectBreak = 'Соединение %d разорвано'; procedure TL2PacketHackMain.Log(var msg: TMessage); var   p : Pchar; begin   move(Pointer(MSG.lParam)^,P,SizeOf(PChar));   ListBox3.Lines.Add(p); end; procedure sendMSG (msg: string); var   LogMsg: pchar; begin   LogMsg:=PChar(msg);   SendMessage(L2PacketHackMain.Handle, WM_ListBox3_Log, 0, integer(@LogMsg)); end;

сам вызов происходит здесь
delphi Код:
msg:=format(StartLocalServer,[ntohs(LPortConst)]); sendMSG (msg);
если в сообщении нет чисел, то все нормально, как только есть, то fastmm4 сообщает о небольшой утеке памяти
типа такого:
Код:
This application has leaked memory. The small block leaks are (excluding expected leaks registered by pointer):

13 - 20 bytes: AnsiString x 2
21 - 36 bytes: AnsiString x 2
37 - 52 bytes: AnsiString x 1
53 - 68 bytes: AnsiString x 2
85 - 100 bytes: AnsiString x 1
И ещё. Правильно ли закрываю хэндл потока?
delphi Код:
CloseHandle(SLH);

Добавлено через 3 минуты


Я не все перенес из твоих исходников?

я так делаю

Код:
procedure TL2PacketHackMain.WmFinished(var msg: TMessage);
var h1:integer;
begin
   h1:=msg.WParam; // хендел отработаного потока
   CloseHandle(h1);
end;
Argot вне форума   Ответить с цитированием