![]() |
|
هل قواعد المتغيرات المحلية تنطبق على النوع Pointer ؟ - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : هل قواعد المتغيرات المحلية تنطبق على النوع Pointer ؟ (/showthread.php?tid=10963) |
هل قواعد المتغيرات المحلية تنطبق على النوع Pointer ؟ - MasteranyOne - 17-07-2020 السلام عليكم ورحمة الله تعالى وبركاته نص المسألة : هل المؤسرات المعرفة في الدالة أو الإجرائية (والتي يتم حجزها دخلها) تحرر المساحة المحجوزة من طرفها عند إنتهاء تنفيذ الدالة (حتى ولو لم يتم تحريرها من قبل المبرمج) ؟ RE: هل قواعد المتغيرات المحلية تنطبق على النوع Pointer ؟ - Delphi4Us - 17-07-2020 و عليكم السلام ورحمة الله تعالى وبركاته يجب تحرير المؤشر من الذاكرة كود : FreeMem (pText)؛RE: هل قواعد المتغيرات المحلية تنطبق على النوع Pointer ؟ - MasteranyOne - 17-07-2020 بارك الله فيك على الرد لكن وإن لم نحرره هل يتحرر أتوماتكيا عند إنتهاء تنفيذ الدالة ؟ RE: هل قواعد المتغيرات المحلية تنطبق على النوع Pointer ؟ - sofiane201 - 17-07-2020 لا يتحرر أوتوماتيكيا RE: هل قواعد المتغيرات المحلية تنطبق على النوع Pointer ؟ - MasteranyOne - 17-07-2020 بارك الله فيك اخي الكريم لو ذققت في هذا الكود : نجد اننا يمكننا الوصول إلى البيانات مع اننا قمنا بتحريرها (أليس من المفروض اننا لا يمكننا الدخول إليها ؟) كود : 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. |