VB调用DLL有关问题,很急请大家帮帮忙,多谢

VB调用DLL问题,很急,请大家帮帮忙,谢谢在C#中调用DLL[DllImport( 22.DLL )]publicstaticexternintSDT_Op

VB调用DLL问题,很急,请大家帮帮忙,谢谢
在C#中调用DLL
[DllImport( "22.DLL ")]
public   static   extern   int   SDT_OpenPort(int   iPortID);
VB中我写的是
Private   Declare   Function   SDT_OpenPort   Lib   "22.DLL "   (ByVal   iPortID   As   Integer)   As   Long
有什么不对啊??
都是在同一目录下
错误类型,比如说
C#:iport=1   intOpenPortRtn   =   SDT_OpenPort(iPort);   intOpenPortRtn=144
但是VB
就是没有用,怎么弄就是等于intOpenPortRtn=1,,我真服了,
用C#那个就好用,用VB就不好用,是为什么呢?请大家帮帮忙,   看看我哪里写错了,应该怎么写???

[解决办法]
你是vb.net还是vb6?
如果vb6,int 就是 Long,如果是.net ,int就是Integer