السلام عليكم ورحمة الله وبركاته
ما الفرق بينهم؟ Dispose VS Close
السلام عليكم ورحمة الله وبركاته
ما الفرق بينهم؟ Dispose VS Close
السلام عليكم ورحمه الله وبركاته
اخي اذا كانت تقصد الدالتين الموجدتين في الكائن Connection, فالاول يقوم باغلاق الاتصال, اما الثاني فيقوم باغلاق الاتصال وازالة المرجع Reference من الذاكرة. فيمكنك فتح الاتصال من جديد لو استخدمت Close وهذا الذي الذي لايمكنك في الدالة Dispose لأن الكائن لم يعد موجودا
.:: Wish to become better and better ::.
كنت أقصد
Form1.Close(); Form1.Dispose ();
لها قمت بوضعه في منتدي السي شارب..
معني هدا يا أخي أني لو قمت بإستخدام الدالة Dispose يتوجب علي إعادة تعريف المتغير مرة اخري لكي أقوم بفتح الإتصال مرة أخري
لكن مادا عن Form وباقية الأدوات ؟
السلام عليكم ورحمه الله وبركاته
اخي بالنسبه للفورم فالداله Close تقوم باغلاقه, اما Dispose تقوم بحذف مرجع الكائن من الـ Heap
.:: Wish to become better and better ::.
Heap ??
تقصد بها الرام؟؟ أم صف داحلي في البرنامج؟؟
وايضا مادا سيحدث لو قمت بإستخدام Dispose سوف يعني أني لا استطيع إستخدام Form مرة أخري؟؟
السلامه عليكم ورحمه الله وبركاته
بالفعل فلا يكون اي وجود للكائن في الذاكره ولايمكن استخدامه ..
.:: Wish to become better and better ::.
عمرو عماد كتب:Heap ??
تقصد بها الرام؟؟ أم صف داحلي في البرنامج؟؟
وايضا مادا سيحدث لو قمت بإستخدام Dispose سوف يعني أني لا استطيع إستخدام Form مرة أخري؟؟
بكلتا الحالتين لن تستطيع استعمال ال form ويجب عليك استعمال dim x as new from2 : x.show
احد الاختلافات بين close and dispose
Create New project with form1 and form2
in form1 add 1 button (btn_runform2)
in form2 add 1 textbox (Textbox1) and 2 button (btn_close) and (btn_dispose)
in form2 عدل خاصية textbox "modifiers" من private الى public
add the following code:
*in form1
Private Sub btn_runform2_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_runform2.Click
Dim frm As New Form2
frm.ShowDialog
MsgBox(frm.txtTextBox1.Text)
End Sub*in form2
Private Sub btn_close_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_close.Click
Me.Close
End Sub
Private Sub btn_dispose_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_dispose.Click
Me.Dispose
End Subشغل المشروع
اكبس btn_runform2
سيظهر ال form2
اكتب بال textbox "ABC" ثم اضغط close
سيختفي form2
لاحظ ال msgbox
اكبس btn_runform2
سيظهر ال form2
اكتب بال textbox "ABC" ثم اضغط dispose
سيختفي form2
لاحظ ال msgbox
في حالة close ظلت كائنات ال form2 في الذاكرة
في حالة ال dispose زالت نهائيا
ارجو ان تكون الكتابة بالعربي مفهومة :)