|
在平台引入第三方静态库文件,调用其中一个连接打印机端口的方法时出现问题。
方法说明:
☆Tec452Init(INT, INT, INT, PCHAR); //标签尺寸设置
INT:标签长度 [单位:0.1mm]
INT:有效打印宽度 [单位:0.1mm]
INT:有效打印长度 [单位:0.1mm]
PCHAR:选择端口 [并口][例:lpt1]
1、先考虑现在C#下尝试,结果可以正常使用,C#下的代码如下
引入代码:
[DllImport("tec.dll")]
static extern bool Tec452Init(int Length, int Width, int aLength, string Port);
调用方法:
Tec452Init(1200, 850, 1200, "lpt1");
2、接着尝试在Delphi中尝试,发现有问题
引入代码:
const
TEC = 'tec.dll';
function Tec452Init(Length:integer;Width:integer;aLength:integerort: pchar):bool; external TEC;
调用方法:
procedure TForm1.Button1Click(Sender: TObject);
begin
Tec452Init(1200, 850, 1200, PChar('lpt1'));
end;
在运行时首先弹出 “端口打开失败!”的错误信息,该错误为静态库抛出的,关闭错误窗体,然后弹出“privilegd instruction”错误.
初步判断,可能是Delphi传入的 PChar('lpt1')有问题,但传入 'lpt1' 也是同样的问题.
请问,你们有没有碰到过类似的问题和相关的解决方案,谢谢~~~~~~~~~~~~~~~~~~~~~~
|
|