我正在将我的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'”。
这是什么解决方案?
由于
答案 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.
它编译并运行没有任何问题。