关于结构赋值的问题,高手进
[StructLayout(LayoutKind.Sequential)] 
             struct   TGlobalData 
             { 
                         public   int   AppHandle; 
                         public   int   Login; 
                         [MarshalAs(UnmanagedType.ByValArray,   SizeConst   =   32)] 
                         public   char[]   Master; 
                         [MarshalAs(UnmanagedType.ByValArray,   SizeConst   =   128)] 
             } 
 这是我定义的一个结构。往里面赋值后,给Dellp写的dll调用,就会报数组越界的问题。请问什么问题;我这样赋值的: 
 TGlobalData   gdata   =   new   TGlobalData(); 
 string   strMaster   =    "master "; 
 gdata.Master   =   strMaster.ToCharArray();     
------解决方案--------------------换成byte[]看看 
 其他dll里的char估计是1个自己,而C#中的char是两个字节 
 public byte[] Master; 
 [StructLayout(LayoutKind.Sequential)] 
 struct TGlobalData 
 { 
     public int AppHandle; 
     public int Login; 
     [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] 
     public byte[] Master; 
 }   
 private void button1_Click(object sender, EventArgs e) 
 { 
     TGlobalData gdata = new TGlobalData(); 
     string strMaster =  "master "; 
     gdata.Master = Encoding.Default.GetBytes(strMaster); 
 } 
------解决方案--------------------Dellp?是啥?DELL笔记本P? 
 原始声明是怎样的?
------解决方案--------------------还是没有看到DLL函数接口原始的声明 
 function fname(param: TGlobalData): Boolean; ??   
 还有C#中的函数声明??   
 Delphi的默认函数参数调用方式是pascal 
 C#里是stdcall   
 有没有Delphi里的调用例子?
------解决方案--------------------up