VB.NET中调用dll(Delphi)参数传值的有关问题

VB.NET中调用dll(Delphi)参数传值的问题
用Delphi写了个dll,其中一个函数
Delphi中:
  uses
  ShareMem
  ……
  function check(userName:String;passWord:String):boolean;stdcall;
  begin
  ……
  end;

VB.NET中:
  <DllImport("login", EntryPoint:="check", CharSet:=CharSet.Unicode, SetLastError:=True)> _
  Function check(ByVal a As String, ByVal b As String) As Boolean
  End Function
用VB.NET引用这个dll之后,在调用check的函数是,发现传递的参数时,通过Delphi的接收时,发现只有第一个字符,后面的都没有了,不知道是什么原因
例如check("123","abc")
而Delphi中打印的只有1,a,就是这样。请大家指教一下,是什么原因。

------解决方案--------------------
那你改Delphi dll吧 把参数改为PChar类型。
Delphi的string和VB的string不是对应的