تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
Data Marshall
#3
الموضوع بسيط فالفكرة تنحصر في تمرير البيانات بدون أخطاء
أو تستطيع ان تعتبره نوع من Cache للبيانات

ربما الكود يبدو معقدا في ظاهره فقط بسبب استخدام IntPtr
لكن سبب ذلك أن كل شئ يمكن تحويله الي IntPtr

وقد تم استخدام IDisposable Interface في الكلاس الأصلي حتي تضمن ان البيانات التي يتم تمريرها و مهما كان نوعها يتم التخلص منها مباشرة من خلال استخدام جملة using و بالتالي لا تظل في الذاكرة

عموما في المثال الأخير في الموضوع و في الحدث الخاص بالتايمر
اكتب الكود بالشكل التالي
و ستلاحظ عند تنفيذ الكود و بالرغم أن المدخلات تساوي Nothing فإنه لا يحدث أخطاء عند اتنفيذ


PHP كود :
   Private Sub Timer1_Tick(sender As ObjectAs EventArgsHandles 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
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy , ابو ليلى


الردود في هذا الموضوع
Data Marshall - بواسطة silverlight - 19-09-17, 07:02 PM
RE: Data Marshall - بواسطة Fantastico - 20-09-17, 12:08 AM
RE: Data Marshall - بواسطة silverlight - 20-09-17, 01:48 PM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم