View Full Version : اشکال زدایی leack memory
khoshblagh
سه شنبه 15 مهر 1393, 12:58 عصر
با سلام خدمت دوستان
تازگی برنامه Eureka روی سیستم نصب کردم. و برنامه ای را با مرور اجرا نمودم. Eureka پیام نشتی حافظه میدهد. 124322
لطفا در صورت امکان راهنمایی نمائید. متشکرم.
یوسف زالی
سه شنبه 15 مهر 1393, 15:10 عصر
سلام.
هیچ اطلاعاتی نمی دید انتظار نداشته باشید کسی بتونه کمکی کنه.
مشخصات فرم، اشیای آزاد، اشیای ران تایم، ..
هیچ چی؟؟
khoshblagh
یک شنبه 20 مهر 1393, 19:37 عصر
ببخشید . مشکل سر آزاد سازی lname میباشد که نمیدانم چگونه اینکار را انجام دهم.LName : pchar چگونه باید آزاد گردد؟
ضمنا تصویر دوم ضمیمه پست یک نامربوط است.
procedure TfrmMainForm.FormCreate(Sender: TObject);
var
LName : pchar ;
I : Integer;
begin
I:=1;
Getmem(Lname,30);
GetKeyboardLayoutName(lname);
While (LName<>'0000401')And (LName<>'0000429') And (I<20) Do Begin
ActivateKeyboardLayout(HKL_NEXT,KLF_REORDER);
GetKeyboardLayoutName(lname);
Inc(I);
End;
Application.BiDiMode:=bdRightToLeft;
end;
khoshblagh
یک شنبه 20 مهر 1393, 20:54 عصر
نحوه آزاد سازی متغیر فوق را به شکل زیر میباشد.البته این را از یک سایت پیدا کردم.
FreeMem(Lname,30);
Felony
شنبه 03 آبان 1393, 06:14 صبح
توجه داشته باشید FreeMem حتما باید در بلوک try ... finally صدا زده بشه .
برای اینکه ببینید پروژتون نشت حافظه داره خود Delphi فکر میکنم از نسخه XE2 به بعد راهکاری ارائه کرده ، کافیه Leakage Reporter خود دلفی رو به صورت زیر فعال کنید :
ReportMemoryLeakOnShutdown := True;
BORHAN TEC
شنبه 03 آبان 1393, 07:27 صبح
فکر میکنم از نسخه XE2 به بعد راهکاری ارائه کرده
دقیقش از زمان دلفی 2006 به بعده :چشمک:
khoshblagh
شنبه 03 آبان 1393, 18:55 عصر
با سلام این کد کجای برنامه قرار دهیم؟ متشکرم.
ReportMemoryLeakOnShutdown := True;
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.