高手们帮我看看(100分)

  • 主题发起人 主题发起人 一意孤行
  • 开始时间 开始时间

一意孤行

Unregistered / Unconfirmed
GUEST, unregistred user!
(一)
下面代码
var
bmp:Tbitmap;
begin
bmp:=Tbitmap.create;
bmp.LoadFromFile('mm.bmp');
image1.Picture.graphic:=bmp;//当然可以直接image1.picture.bitbmp.loadfromfile('mm.bmp')
bmp.Free;
end;
如果将image1.picture.graphic:=bmp改成image1.picture.graphic.assign(bmp)运行时出错,但能编译。改成image1.picture.assign(bmp)也可以,但改成image1.picture:=bmp编译也不能通过。不知道什么原因。
(二)关于资源的问题
资源文件如下
myexefile exefile tt.exe
mybmpfile bitbmp mybmp.bmp
资源文件中包含一个.exe文件和.bmp文件,已经正确编译并加入到我的程序中,现在试图在程序运行时释放出这两个文件,代码如下:
var
resstream:TResourceStream;
bitres:TResourceStream;
begin
//释放可执行文件
resstream:=TResourceStream.create(Hinstance,'myexefile','exefile');
resstream.SaveToFile('new.exe');
resstream.free;
//释放位图文件
bitres:=TResourceStream.create(Hinstance,'mybmpfile','bitmap');
bitres.SaveToFile('new.bmp');
bitres.Free;
end;
可以释放出可执行文件,但不能释放位图文件。
 
明天好好帮你看看。
 
(一)Picture是TPicture,Graphic是TGraphic。TPicture可以Assign(TBitmap),
但不能:=TBitmap;TGraphic既可以Assign(TBitmap),也可以:=TBitmap,因为TBitmap
是TGraphic的子类。一个空的TImage,其Picture已创建,但Picture.Graphic=nil,
所以Picture.Graphic.Assign会出错。
(二)类型不对
 
后退
顶部