delphi4arab منتديات دلفي للعرب

نسخة كاملة : هل قواعد المتغيرات المحلية تنطبق على النوع Pointer ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله تعالى وبركاته

نص المسألة : هل المؤسرات المعرفة في الدالة أو الإجرائية (والتي يتم حجزها دخلها) تحرر المساحة المحجوزة من طرفها عند إنتهاء تنفيذ الدالة (حتى ولو لم يتم تحريرها من قبل المبرمج) ؟
و عليكم السلام ورحمة الله تعالى وبركاته

يجب تحرير المؤشر من الذاكرة 

كود :
FreeMem (pText)؛
بارك الله فيك على الرد

لكن وإن لم نحرره هل يتحرر أتوماتكيا عند إنتهاء تنفيذ الدالة ؟
لا يتحرر أوتوماتيكيا
بارك الله فيك اخي الكريم 

لو ذققت في هذا الكود : نجد اننا يمكننا الوصول إلى البيانات مع اننا قمنا بتحريرها (أليس من المفروض اننا لا يمكننا الدخول إليها ؟)

كود :
TPtr = ^integer; //------- var   Form1: TForm1;   iPtrGlob : TPtr; //--------- implementation {$R *.dfm} procedure TForm1.Button2Click(Sender: TObject); begin   memo1.Lines.Add(iPtrGlob^.ToString); end; procedure TForm1.Button1Click(Sender: TObject); var   iPtrlocal : TPtr; begin   new(iPtrlocal);   iPtrlocal^ := 2020;   memo1.Lines.Add(iPtrlocal^.ToString);   iPtrGlob:= iPtrlocal; //------   Dispose(iPtrlocal); //------- end; end.