لقد واجهت مشكلة عند تحويل كود بالسي ++ إلى فيجول بيسك دوت نت حيث أن الكود يحتوي على تركيب يتضمن 5 مصفوفات وقد طرحت السؤال في المنتدى تحت عنوان
تحويل vb ألى vb.net
لمن يريد رؤية الكود والشباب ما قصرو معي
طولنا عليكم
هذا كود التركيب بالفيجول بيسك
Public Type BII_Template id As Long employee_id As Long password As Long sensor_version As Byte template_version As Byte nam(15) As Byte finger As Byte Admin_Level As Byte schedule As Byte security_thresh As Byte noise_level(17) As Byte corramb(2) As Byte ihcor(2) As Byte ivcore(2) As Byte temp_xoffset As Byte temp_yoffset As Byte index As Byte inphase(5499) As Byte End Type
وبعد التحويل أصبح على الشكل التالي مع تحديد حجم المصفوفات بالداخل
Public Structure BII_Template Public ID As Int64 Public employee_id As Int64 Public password As Int64 Public sensor_version As Byte Public template_version As Byte <MarshalAs(UnmanagedType.ByValArray, SizeConst:=16, ArraySubType:=UnmanagedType.AsAny)> Public name() As Byte Public finger As Byte Public admin_level As Byte Public schedule As Byte Public security_thresh As Byte <MarshalAs(UnmanagedType.ByValArray, SizeConst:=18, ArraySubType:=UnmanagedType.AsAny)> Public noise_level() As Byte <MarshalAs(UnmanagedType.ByValArray, SizeConst:=3, ArraySubType:=UnmanagedType.AsAny)> Public corramb() As Byte <MarshalAs(UnmanagedType.ByValArray, SizeConst:=3, ArraySubType:=UnmanagedType.AsAny)> Public ihcore() As Byte <MarshalAs(UnmanagedType.ByValArray, SizeConst:=3, ArraySubType:=UnmanagedType.AsAny)> Public ivcore() As Byte <MarshalAs(UnmanagedType.ByValArray, SizeConst:=5499, ArraySubType:=UnmanagedType.AsAny)> Public inphase() As Byte End Structure
ملاحظة يجب إستدعاء فضاء الإسم(Name Space) التالي
Imports System.Runtime.InteropServices