Delphi记录文件初始化
如下,先声明一个类型,再声明一个此类型的文件变量,编译出错:typeneedfinalization--notallowedinfiletype源码:unitUnit1;...
如下,先声明一个类型,再声明一个此类型的文件变量,编译出错:type need finalization--not allowed in file type
源码:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Jpeg, ExtDlgs;
type
TForm1 = class(TForm)
ListBox1: TListBox;
AddDlg: TOpenPictureDialog;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Imgdb=record
Name:string;
Pic:TBitmap;
end;
const
Imagedb='Images.db';
var
Form1: TForm1;
Imgdbf:File of Imgdb;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var Imgin:Imgdb;
begin
if AddDlg.Execute then begin
Imgin.Pic:=Imgin.Pic.Create;
Imgin.Pic.LoadFromFile(AddDlg.FileName);
Imgin.Name:=ExtractFileName(AddDlg.FileName);
AssignFile(Imgdbf,Imagedb);
Reset(Imgdbf);
write(Imgdbf,Imgin);
ListBox1.Items.Append(Imgin.Name);
Imgin.Pic.Destroy;
CloseFile(Imgdbf);
end;
end;
end. 展开
源码:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Jpeg, ExtDlgs;
type
TForm1 = class(TForm)
ListBox1: TListBox;
AddDlg: TOpenPictureDialog;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Imgdb=record
Name:string;
Pic:TBitmap;
end;
const
Imagedb='Images.db';
var
Form1: TForm1;
Imgdbf:File of Imgdb;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var Imgin:Imgdb;
begin
if AddDlg.Execute then begin
Imgin.Pic:=Imgin.Pic.Create;
Imgin.Pic.LoadFromFile(AddDlg.FileName);
Imgin.Name:=ExtractFileName(AddDlg.FileName);
AssignFile(Imgdbf,Imagedb);
Reset(Imgdbf);
write(Imgdbf,Imgin);
ListBox1.Items.Append(Imgin.Name);
Imgin.Pic.Destroy;
CloseFile(Imgdbf);
end;
end;
end. 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询