السلام عليكم ورحمة الله وبركاته ....
ما الفرق بين كل من BeRef و BeVal في تمرير المتغيرات وما اثر كل منهما مشكورين.
السلام عليكم ورحمة الله وبركاته ....
ما الفرق بين كل من BeRef و BeVal في تمرير المتغيرات وما اثر كل منهما مشكورين.
الفرق انه عند تمرير متغير byVal فاننا نمرر نسخه من المتغير للعمل عليها فبالتالي المتغير نفسه لا يتأثر ..
بينما في الحاله الثانيه byRef (الحاله الطبيعية في الفيجوال) فاننا نمرر عنوان المتغير في الذاكرة (اي المتغير نفسه) فبالتالي قيمة المتغير نفسة ستتأثر بما ستقوم به الدوال مثلا..
و كمثال : ضع زرين على فورم ثم الصق الكود التالي و جرب الفرق ..
Private Sub Command1_Click() Dim a a = 1 test_byVal a MsgBox a End Sub Private Sub Command2_Click() Dim a a = 1 test_byRef a MsgBox a End Sub Public Sub test_byVal(ByVal a) a = a + 1 End Sub Public Sub test_byRef(ByRef a) a = a + 1 End Sub
هذا الموضوع مغلق.