一
一剑飘雪
Unregistered / Unconfirmed
GUEST, unregistred user!
function OpenComm(CommPort: Integer): THandle; stdcall; external 'dascomm.dll';<br>function Hand_Shake(Handle: THandle; Node_Addr: Integer; Password: pChar): Integer; stdcall; external 'dascomm.dll';<br>//int Hand_Shake(HANDLE icdev,int Node_Addr,LPCSTR Password) 这是VB的Dll<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br> HandInt: Integer;<br> ComHandle: THandle;<br>begin<br> ComHandle := OpenComm(0);<br> if ComHandle > 0 then<br> Memo1.Lines.Add('打开串口成功' + IntToStr(ComHandle));<br><br> HandInt := Hand_Shake(ComHandle, StrToInt(Edit1.Text), pChar('19550930')); //返回0为正确<br> if HandInt = 0 then<br> Memo1.Lines.Add('握手成功')<br> else<br> Memo1.Lines.Add(IntToStr(HandInt));<br>end;<br><br>这里面有一个问题是Password: pChar是不是写对了。我不知道VB里面LPCSTR是不是跟delphi里面的pChar相对应。<br>程序返回值说我密码错误,可是密码就是那个。<br>这里有二个可能,一个就是调用约定的问题。一个就是类型的问题。<br>你大家看看。[][][][]