相关疑难解决方法(0)

德尔福TPair例外

我有这个高峰来测试TPair.您可以在新的Delphi XE Con​​sole-app上复制+粘贴.我用例外标记了这一行:

项目Project1.exe引发异常类EAccessViolation,并在模块'Project1.exe'中显示消息'地址为0045042D的访问冲突'.读取地址A9032D0C.

任何的想法 ?

谢谢.

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Generics.Defaults,
  Generics.Collections;

type
  TProduct = class
  private
    FName: string;
    procedure SetName(const Value: string);
  published
  public
    property Name: string read FName write SetName;
  end;

type
  TListOfProducts = TObjectDictionary<TProduct, Integer>;

{ TProduct }

procedure TProduct.SetName(const Value: string);
begin
  FName := Value;
end;


var
  MyDict: TListOfProducts;
  MyProduct1: TProduct;
  MyProduct2: TProduct;
  MyProduct3: TProduct;
  APair: TPair<TProduct, Integer>;
  aKey: string;

begin
  try
    MyDict := TListOfProducts.Create([doOwnsKeys]);
    MyProduct1 := TProduct.Create;
    MyProduct1.Name := 'P1';
    MyProduct2 := …
Run Code Online (Sandbox Code Playgroud)

delphi generics exception delphi-xe

5
推荐指数
1
解决办法
2121
查看次数

标签 统计

delphi ×1

delphi-xe ×1

exception ×1

generics ×1