我在使用C#调用Delphi 7 DLL文件时遇到问题.我是C#的新手,对Delphi知之甚少,我不需要真正了解那么多.我只需要尽快解决这个问题.
我试图从C#调用DLL但我得到这个错误:"尝试读取或写入受保护的内存.这通常表明其他内存已损坏."
我不知道为什么会这样.正如您将在我的Delphi代码中看到的那样,我不会尝试返回任何值.我只需要在COM端口上发送一些命令.如果有人可以帮助我离开这里:(
Delphi DLL代码:
library Project2;
uses
SysUtils,
ComPort,
Classes;
var com1:TComport ;
{$R *.res}
procedure moveforward; export;
begin
com1.WriteAnsiString('#20 P1528 CR'+sLineBreak);
com1.WriteAnsiString('#7 P1465 CR'+sLineBreak);
end;
procedure movebackward; export;
begin
comport1.WriteAnsiString('#7 P1528 CR'+sLineBreak);
comport1.WriteAnsiString('#20 P1465 CR'+sLineBreak);
end;
procedure stopmove;export;
begin
comport1.WriteAnsiString('#20 P1500 CR'+sLineBreak);
comport1.WriteAnsiString('#7 P1500 CR'+sLineBreak);
end;
procedure catch; export;
begin
comport1.WriteAnsiString('#2 P2120 T2000 CR'+sLineBreak); //arm
comport1.WriteAnsiString('#30 P2260 T500 CR'+sLineBreak); //gripper
end;
procedure initialize; export;
begin
comport1.WriteAnsiString('#2 P2184 T1000 CR'+sLineBreak); //arm
comport1.WriteAnsiString('#30 P1980 T2000 CR'+sLineBreak); //gripper
end; …Run Code Online (Sandbox Code Playgroud)