大家下午好, 我开始说我从来没有使用过.NET库。
前言
我有一个使用NiceLabel 6(通过ActiveX)打印客户标签的应用程序。 现在,NiceLabel(2017)上的新版本不再支持这种技术,但仅适用于.NET。 我创建了.pas单元,通过CrystalNet .Net Runtime Library for Delphi读取.NET库。
.NET使用DELPHI
我创建了一个简单的Delphi项目,该项目使用从CrystalNet产品创建的.pas单元。这是来源:
obj.account = int(ready_item[0].replace("\"","").replace("*",""))
pai_obj.reporting_mask = str(ready_item[0].replace("\"","").replace("*",""))
pai_obj.group = ready_item[1].replace("\"","")
pai_obj.location = ready_item[2].replace("\"","")
pai_obj.terminal = ready_item[4].replace("\"","")
pai_obj.settlement_type = ready_item[5].replace("\"","")
pai_obj.settlement_date = datetime_or_none(report_data)
pai_obj.amount = *str*(ready_item[6].replace("\"","").replace("$","").replace(",",""))
data.append(pai_obj)
问题
Delphi编译正确,但是当我运行它时,我得到了这个错误:
我无法获得此错误的英文版本,但我认为它类似于:“发现模糊匹配”。 我无法理解问题是什么,我在.NET的主题中非常无知。
我认为CrystalNet创建的单元中有些东西不对,但我无法理解它是什么。为了澄清这里是一个部分去生成的单位是大约3.000行长
unit Main;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
Vcl.StdCtrls, SDK.NET.Interface_;
type
TfrmMain = class(TForm)
btnLoadLabel: TButton;
procedure btnLoadLabelClick(Sender: TObject);
private
NLLabel: TILabel;
NLLabelOle: OleVariant;
public
{ Public declarations }
end;
const
LabelPath = 'C:\Users\Eros\Desktop\nicelabel 2017\codesol\labels\';
var
frmMain: TfrmMain;
implementation
{$R *.dfm}
procedure TfrmMain.btnLoadLabelClick(Sender: TObject);
begin
NLLabel := SDK.NET.Interface_.TILabel.Create(NLLabelOle);
end;
end.
答案 0 :(得分:0)
const {props: {local: loc}} = this;