20-09-17, 01:48 PM
الموضوع بسيط فالفكرة تنحصر في تمرير البيانات بدون أخطاء
أو تستطيع ان تعتبره نوع من Cache للبيانات
ربما الكود يبدو معقدا في ظاهره فقط بسبب استخدام IntPtr
لكن سبب ذلك أن كل شئ يمكن تحويله الي IntPtr
وقد تم استخدام IDisposable Interface في الكلاس الأصلي حتي تضمن ان البيانات التي يتم تمريرها و مهما كان نوعها يتم التخلص منها مباشرة من خلال استخدام جملة using و بالتالي لا تظل في الذاكرة
عموما في المثال الأخير في الموضوع و في الحدث الخاص بالتايمر
اكتب الكود بالشكل التالي
و ستلاحظ عند تنفيذ الكود و بالرغم أن المدخلات تساوي Nothing فإنه لا يحدث أخطاء عند اتنفيذ
أو تستطيع ان تعتبره نوع من Cache للبيانات
ربما الكود يبدو معقدا في ظاهره فقط بسبب استخدام IntPtr
لكن سبب ذلك أن كل شئ يمكن تحويله الي IntPtr
وقد تم استخدام IDisposable Interface في الكلاس الأصلي حتي تضمن ان البيانات التي يتم تمريرها و مهما كان نوعها يتم التخلص منها مباشرة من خلال استخدام جملة using و بالتالي لا تظل في الذاكرة
عموما في المثال الأخير في الموضوع و في الحدث الخاص بالتايمر
اكتب الكود بالشكل التالي
و ستلاحظ عند تنفيذ الكود و بالرغم أن المدخلات تساوي Nothing فإنه لا يحدث أخطاء عند اتنفيذ
PHP كود :
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Using sPtr As SafePtr = New SafePtr(System.Runtime.InteropServices.Marshal.StringToHGlobalUni(Nothing))
If sPtr.Valid Then
Label1.Text = System.Runtime.InteropServices.Marshal.PtrToStringUni(sPtr.Hamdle)
End If
End Using
End Sub
Retired

