K
kinsunc
Unregistered / Unconfirmed
GUEST, unregistred user!
我做了个例子(如下):
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
E_image_path: TEdit;
Button1: TButton;
Image1: TImage;
Image2: TImage;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ReportBmp:Tbitmap;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
OpenDialog1: TOpenDialog;
RBmp:TBitmap;
begin
OpenDialog1:=TOpenDialog.Create(nil);
OpenDialog1.Filter:='Bmp图片文件(*.bmp)|*.bmp';
OpenDialog1.DefaultExt:='bmp';
if OpenDialog1.Execute then
begin
RBmp:=TBitmap.Create();
try
RBmp.LoadFromFile(OpenDialog1.FileName);
Image1.Picture.Assign(RBmp);
E_image_path.Text := OpenDialog1.FileName;
finally
RBmp.Free;
end;
end;
OpenDialog1.Destroy;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if FileExists(E_image_path.Text) then
begin
try
ReportBmp.LoadFromFile(E_image_path.Text);
except
ReportBmp:=nil;
end;
end
else
begin
ReportBmp:=nil;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ReportBmp:=Tbitmap.Create;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ReportBmp.Free;
end;
end.
图片为:bmp,如果 我按Button1 ,打开一个小图,点一次Button2,再清空E_image_path 的text值,点一次Button2。再打开一个小图,点一次Button2,问题就出来了。
不知道为何?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
E_image_path: TEdit;
Button1: TButton;
Image1: TImage;
Image2: TImage;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ReportBmp:Tbitmap;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
OpenDialog1: TOpenDialog;
RBmp:TBitmap;
begin
OpenDialog1:=TOpenDialog.Create(nil);
OpenDialog1.Filter:='Bmp图片文件(*.bmp)|*.bmp';
OpenDialog1.DefaultExt:='bmp';
if OpenDialog1.Execute then
begin
RBmp:=TBitmap.Create();
try
RBmp.LoadFromFile(OpenDialog1.FileName);
Image1.Picture.Assign(RBmp);
E_image_path.Text := OpenDialog1.FileName;
finally
RBmp.Free;
end;
end;
OpenDialog1.Destroy;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if FileExists(E_image_path.Text) then
begin
try
ReportBmp.LoadFromFile(E_image_path.Text);
except
ReportBmp:=nil;
end;
end
else
begin
ReportBmp:=nil;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ReportBmp:=Tbitmap.Create;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ReportBmp.Free;
end;
end.
图片为:bmp,如果 我按Button1 ,打开一个小图,点一次Button2,再清空E_image_path 的text值,点一次Button2。再打开一个小图,点一次Button2,问题就出来了。
不知道为何?