المشاركات : 30
المواضيع 13
:
: 14
الإنتساب : May 2016
السلام عليكم ورحمة الله تعالى وبركاته
نص المسألة : هل المؤسرات المعرفة في الدالة أو الإجرائية (والتي يتم حجزها دخلها) تحرر المساحة المحجوزة من طرفها عند إنتهاء تنفيذ الدالة (حتى ولو لم يتم تحريرها من قبل المبرمج) ؟
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
17-07-2020, 07:59 PM
(آخر تعديل لهذه المشاركة: 17-07-2020, 07:59 PM بواسطة Delphi4Us.)
و عليكم السلام ورحمة الله تعالى وبركاته
يجب تحرير المؤشر من الذاكرة
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 30
المواضيع 13
:
: 14
الإنتساب : May 2016
بارك الله فيك على الرد
لكن وإن لم نحرره هل يتحرر أتوماتكيا عند إنتهاء تنفيذ الدالة ؟
المشاركات : 145
المواضيع 1
:
: 41
الإنتساب : Aug 2019
المشاركات : 30
المواضيع 13
:
: 14
الإنتساب : May 2016
بارك الله فيك اخي الكريم
لو ذققت في هذا الكود : نجد اننا يمكننا الوصول إلى البيانات مع اننا قمنا بتحريرها (أليس من المفروض اننا لا يمكننا الدخول إليها ؟)
كود :
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.