这是怎么回事?打开串口的问题!Unhandled exception in Project1.exe:0xC00000005 :Access Violation.
VC中的DLL文件是这样的:
extern "C" __declspec(dllexport) int OpenPort(int i)
{
DWORD dwBaud = 9600;
unsigned short retval;
int iport;
iport = i;
retval = OpenPort(iport,dwBaud,0,&devNo);//已经封好的库的函数
if(retval==0x9000)
{
retval=SetTimeout(devNo,1000,0);
isOpen=true;
retval=0;
return retval;
}else
{
return retval;
}
}
delphi中这样调用的:
Function OpenPort(i:integer):integer;stdcall;External 'Test.dll'; //打开串口
procedure TForm1.Button2Click(Sender: TObject);
var
iCom:integer;
begin
if isOpen = true then
begin
Edit1.Text := 'OpenPort Opened!';
Exit;
end;
iCom := 1;
try
Ret := OpenPort(iCom,0);
except
end;
if Ret <> 0 then
Edit1.Text := 'OpenPort Error!'
else
begin
Edit1.Text := 'OpenPort Success!';
isOpen := true;
end;
end;
在delphi中只要过程执行完了就报:Unhandled exception in Project1.exe:0xC00000005 :Access Violation.错误,我看了又看,是在想不到哪里的内存地址有错了,大侠们救救啊!!