weixin_42404384
Miles_Mei
2018-08-18 09:07
采纳率: 80%
浏览 1.2k
已采纳

vb6.0中一些定义和使用方法?

本人新手刚接触vb,不太懂这些,求解vb中要怎么使用?
以下是在vb.net中的代码

 <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi, Pack:=4)>

  <MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst:=256, ArraySubType:=UnmanagedType.I1)>

     <MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst:=100)>

      <System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.Cdecl)>

        <DllImport("Sdk.dll")>

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • caozhy
    已采纳
     <MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst:=100)>
    这个可以用
    String * 100
    <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi, Pack:=4)>
    这个一般不需要,直接用Type定义结构体
    
    <System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.Cdecl)>
    这个VB没法调用,只有stdcall才能调用,cdecl需要借助vc++转了。
    
    <DllImport("Sdk.dll")>
    这个用Declare Function 函数名 Lib "sdk.dll" ...
    
    点赞 评论
  • caozhy

    这些是用来定义和c++语言编写的dll交互的结构体和类型用的。
    把它们放在你的Structure、Function的定义的前面。就可以。

    点赞 评论

相关推荐