- 论坛徽章:
- 0
|
以下代码是在delphi7下编写通过并且得到的结果是正确的,在5下得到的结果是错误的不知道为什么
procedure TForm1.Button1Click(Sender: TObject);
var
portcnt:integer;
port:array[0..Max_path-1] of char;
comcfg:CommConfig;
buffsize :ulong;
i :integer;
int :DWord;
p:PAnsiChar;
{
TCHAR port[MAX_PATH];
COMMCONFIG comcfg;
ULONG BuffSize = sizeof(port);
}
Str:String;
count:integer;
h:Thandle;
h1:Thandle ;
begin
portcnt:=0;
for i:=1 to 255 do
begin
Str:='COM'+inttostr(i);
zeromemory(@port,max_path);
move(str[1],port,length(str));
getmem(p,max_path);
move(str[1],p^,length(str));
int :=max_path;
if GetDefaultCommConfig(p,comcfg,int) then
begin
portcnt:=portcnt+1;
{
h:=CreateFile( pchar('COM'+inttostr(1)),
GENERIC_READ or GENERIC_WRITE,
0,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
h1 );
if h>0 then
begin
showmessage(inttostr(i));
end
else
begin
showmessage(inttostr(i));
end; }
end;
end;
showmessage(inttostr(portcnt));
end;
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/1507/showart_20652.html |
|