起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 452|回复: 2

【搞定】引入静态库的问题**

[复制链接]
发表于 2006-12-30 16:44:56 | 显示全部楼层 |阅读模式
在平台引入第三方静态库文件,调用其中一个连接打印机端口的方法时出现问题。

方法说明:
☆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'  也是同样的问题.

请问,你们有没有碰到过类似的问题和相关的解决方案,谢谢~~~~~~~~~~~~~~~~~~~~~~

err.jpg

9.83 KB, 下载次数: 116

回复

使用道具 举报

发表于 2006-12-30 17:25:29 | 显示全部楼层
楼主,应该是该函数库的问题,请与供应商联系!
回复 支持 反对

使用道具 举报

发表于 2007-1-10 10:35:07 | 显示全部楼层
楼主,先结贴了!
有问题请开新贴。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 05:05 , Processed in 0.041218 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表