在dll中有用vc++编写的函数:HANDLE OpenCommPort(LPCSTR PortNum, DWORD BaudRate)
portNum表示端口号(com1,com2),BaudRate表示通信速率(2400,4800,9600...),这个函数是在dll中定义,用来获取句柄的。当我在delphi中调用的时候,调用正确返回端口句柄,否则返回(INVALID_HANDLE_VALUE),值为-1。
我书写的是:function OpenCommPort(portnum:pchar;baudrate:word):thandle stdcall; external 'dll名称';
调用代码:
procedure TForm1.ButtonClick(Sender: TObject);
var
hcom:thandle;
begin
hcom:=OpenCommPort(portnum,baudrate);
//应该怎么判断值啊,我是想是定义类还是函数,要多次对值进行判断,方便以后的使用。但是怎么定义呢?
end;
还有我想问,这样的调用方法可以获得端口的句柄吗?我怎么可以知道我调用正确呢?
portNum表示端口号(com1,com2),BaudRate表示通信速率(2400,4800,9600...),这个函数是在dll中定义,用来获取句柄的。当我在delphi中调用的时候,调用正确返回端口句柄,否则返回(INVALID_HANDLE_VALUE),值为-1。
我书写的是:function OpenCommPort(portnum:pchar;baudrate:word):thandle stdcall; external 'dll名称';
调用代码:
procedure TForm1.ButtonClick(Sender: TObject);
var
hcom:thandle;
begin
hcom:=OpenCommPort(portnum,baudrate);
//应该怎么判断值啊,我是想是定义类还是函数,要多次对值进行判断,方便以后的使用。但是怎么定义呢?
end;
还有我想问,这样的调用方法可以获得端口的句柄吗?我怎么可以知道我调用正确呢?
解决方案 »
- 大家是怎么学delphi的啊?
- 怎么录制系统中播放的音乐声音,并保存为wav文件?
- 词法分析
- 利用delphi的clientsocket,serversocket 怎么实现两个用户之间的即时通讯
- 一个关于TQuery字串长度的问题,急啊,我搞了好长时间了也查不出什么错。
- 如果按一下个确认键,我想让它先延时一会再直接执行代码!写什么语句?
- 请各位帮帮忙,招聘深圳地区DELPHI程序员
- CSDN真是无聊透了,里面的屁人什么问题也解决不了,还在那儿唧唧歪歪!!!
- 我有三个imagelist控件 我想把三个imagelist里的ico合并在一起???
- 200分,问个呼叫中心的硬件,软件问题
- 关于添加窗体的问题?
- 如何实现按回车后调用数据库的字库,用拼音码或五笔码输入物资名称!
begin
//你的操作
end;
应该这样就可以了吧!
hcom:定义成全局的变量,端口打开后,这个句柄可以在任何地方使用。
if hcom<>INVALID_HANDLE_VALUE then
beginend;
对hcom<>INVALID_HANDLE_VALUE 的判断就是对值的判断吗?
Longword 0..4294967295 unsigned 32-bit
hcom<>INV*****,就是说该句柄返回正确,可以使用。
但是我现在的真正头痛的问题是关于串口通讯的,不知道大家有没有这个方面的研究,有的话请见我另一个贴子!http://community.csdn.net/Expert/topic/3811/3811808.xml?temp=.1052057