我的问题是关于串口通讯的。
原先编写的是在win98 Delphi 5下完成的,现在我在北京出差,只有一台装了win2000 Delphi 6的笔记本电脑,手头有源码。设备需要调试,我将源码编译了一遍,除了串口收发数据不正常,其他都可以。 小弟我没有在win2000下编写程序的经验,特请教诸位高手。我的调试程序对端口操作的部分都是用API完成的,CreateFile,WriteFile,ReadFile等等。问,是程序的问题还是对编译器的设置不对造成的? help me! SOS
原先编写的是在win98 Delphi 5下完成的,现在我在北京出差,只有一台装了win2000 Delphi 6的笔记本电脑,手头有源码。设备需要调试,我将源码编译了一遍,除了串口收发数据不正常,其他都可以。 小弟我没有在win2000下编写程序的经验,特请教诸位高手。我的调试程序对端口操作的部分都是用API完成的,CreateFile,WriteFile,ReadFile等等。问,是程序的问题还是对编译器的设置不对造成的? help me! SOS
解决方案 »
- 请问:深入核心:VCL架构剖析 在哪可以买到此书
- 一个有简单有奇怪的问题
- 我的TTABLE型的控件写不进去数据,为何老是报告'table_devicebase1:Dataset not in edit or insert mode'.'
- 类没有注册是什么意思
- 在delphi程序里,怎么样设置操作系统的环境变量?
- 嵌入word的activex 透明问题
- 谁能告诉我按窗口的最小化按钮应该扑获那个消息
- 怎样使form不能被拖动?
- 如何简单的实现禁止局域网某个ip地址的用户上网?十万火急
- 关于DELPHI API函数的书到什么地方有下载呀
- Delphi中InputBox的OK和Cancel怎么改成中文?
- 数据连接错误?
sorry flytiger1977 fredfei(飞飞)
端口自己设置吧!
procedure TForm1.Button1Click(Sender: TObject);
var
s:OleVariant;
begin
mscomm1.portopen:=true; //打开Com口
mscomm1.output:='test'; //发送字串到Com口
s:=mscomm1.input; //接收数据
mscomm1.portopen:=false; //关闭Comm口
end;环境:Windows2000 Server
其实简单,我在createfile的时候,参数用的不够完全,但是奇怪,为什么98下可以,2000下不可以?那位好心的同志能关心一下?我实在没有空了。具体是这样: hcom:=createfile(PChar(CFGComm.com),
generic_read or generic_write,
0,
nil,
open_existing,
FILE_ATTRIBUTE_ARCHIVE or FILE_ATTRIBUTE_HIDDEN
or FILE_ATTRIBUTE_NORMAL or FILE_ATTRIBUTE_READONLY,
// file_attribute_normal or file_flag_overlapped,
0);// 打 开 串 行 口
用斜杠的参数就不行,但98下可以,为什么一定要加上FILE_ATTRIBUTE_ARCHIVE or FILE_ATTRIBUTE_HIDDEN呢?能不能给自己分?要不然有点亏。谢过诸位。
其实简单,我在createfile的时候,参数用的不够完全,但是奇怪,为什么98下可以,2000下不可以?那位好心的同志能关心一下?我实在没有空了。具体是这样: hcom:=createfile(PChar(CFGComm.com),
generic_read or generic_write,
0,
nil,
open_existing,
FILE_ATTRIBUTE_ARCHIVE or FILE_ATTRIBUTE_HIDDEN
or FILE_ATTRIBUTE_NORMAL or FILE_ATTRIBUTE_READONLY,
// file_attribute_normal or file_flag_overlapped,
0);// 打 开 串 行 口
用斜杠的参数就不行,但98下可以,为什么一定要加上FILE_ATTRIBUTE_ARCHIVE or FILE_ATTRIBUTE_HIDDEN呢?能不能给自己分?要不然有点亏。