Delphi 5迁移 - 无法找到文件

时间:2012-11-15 20:57:17

标签: delphi delphi-xe3

我正在将我的Delphi 5应用程序迁移到Delphi XE3。我对XE3完全不熟悉。

在编译应用程序时,我收到错误'Undeclared Identifier Interace_Info'。

代码如下:

abc.inc:

Interace_Info = packed record
iflag: ulong;
end;

Unit unit2
type
ulong: DWORD;
{$include abc.inc}
end.

Unit unit1
uses unit2;
type
Tlocal= array[0..10] of Interace_Info;

在'abc.inc'文件中声明Interace_Info。

我无法通过按Ctrl +鼠标左键打开使用部分中提到的任何文件。我收到错误“无法找到文件'winapi.unit2.pas'”。

这是什么解决方案?

由于

1 个答案:

答案 0 :(得分:1)

如评论所述,您的代码不能是真正的代码。

我发布这个,我现在使用Delphi XE3编译没有任何问题。

file:abc.inc

type
  Interace_Info = packed record
    iflag: ulong;
  end;

文件:Unit2.pas

unit Unit2;

interface
uses winapi.Windows;

{$include abc.inc}

implementation

end.

文件:Unit1.pas

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,  Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
uses Unit2;

type
  TLocal = array[0..10] of Interace_Info;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  ALocal: TLocal;
begin
  ALocal[0].iflag := 0;
  ShowMessage(IntToStr(ALocal[0].iflag));
end;

end.

它编译并运行没有任何问题。