找到.NET模糊匹配

时间:2017-11-20 15:10:45

标签: .net delphi

大家下午好, 我开始说我从来没有使用过.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编译正确,但是当我运行它时,我得到了这个错误:

enter image description here

我无法获得此错误的英文版本,但我认为它类似于:“发现模糊匹配”。 我无法理解问题是什么,我在.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. 

1 个答案:

答案 0 :(得分:0)

如果有多个具有相同名称的对象,并且编译器不知道选择哪一个,则.Net编译器将抛出模糊引用错误。请检查它们是否重复的命名空间或对象名称。 另一种方法是在引用对象之前可以使用命名空间来避免这种情况。 示例:const {props: {local: loc}} = this;