level 5
龍千魄
楼主
各位兄弟,抱歉,我又来询问了。
我用的是D7 因为要增进效能,经询问后使用DLL方式。
但今天测试了DLL两个方法
一个 .RES & .RC
一个 .DLL的方式
---这是我RC的内容--
AllGet10 RCDATA "D:\Downloads\effect__00000.png"
AllGet11 RCDATA "D:\Downloads\effect__00001.png"
AllGet12 RCDATA "D:\Downloads\effect__00002.png"
AllGet13 RCDATA "D:\Downloads\effect__00003.png"
AllGet14 RCDATA "D:\Downloads\effect__00004.png"
...以下删除
--这是调用 RES & RC的程序部分编码--
上面有引用 {$R 'FP.res' 'FP.rc'}
procedure TForm1.Button1Click(Sender: TObject);
var
png: TPNGObject;
i : integer;
begin
png := TPNGObject.Create;
Image1.Visible := True;
for i := 0 to 121 do
begin
png.LoadFromResourceName(HInstance, 'AllGet1' + IntToStr(i));
Image1.Picture.Assign(png);
delay(60);
end;
end;
--以上没有问题可以执行,但没有改变运行档庞大的问题--
所以改用dll做法
--所以我把包好的DLL丢到目录下--
--以下是调用DLL的程序编码--
procedure TForm1.Button1Click(Sender: TObject);
var
h: THandle;
res: TResourceStream;
png: TPNGObject;
i : integer;
begin
h := LoadLibrary('\FP.dll');
png := TPNGObject.Create;
Image1.Visible := True;
for i := 0 to 121 do
begin
res := TResourceStream.Create(h, 'AllGet1' + IntToStr(i), RT_RCDATA);
png.LoadFromStream(res);
Image1.Picture.Assign(png);
delay(60);
res.Free;
end;
end;
--这一次却报错错误讯息为
Resource AllGet10 not found
请问这是甚麼问题?
或是有更好的方法??
请各位兄弟帮忙一下。
2014年04月07日 10点04分
1
我用的是D7 因为要增进效能,经询问后使用DLL方式。
但今天测试了DLL两个方法
一个 .RES & .RC
一个 .DLL的方式
---这是我RC的内容--
AllGet10 RCDATA "D:\Downloads\effect__00000.png"
AllGet11 RCDATA "D:\Downloads\effect__00001.png"
AllGet12 RCDATA "D:\Downloads\effect__00002.png"
AllGet13 RCDATA "D:\Downloads\effect__00003.png"
AllGet14 RCDATA "D:\Downloads\effect__00004.png"
...以下删除
--这是调用 RES & RC的程序部分编码--
上面有引用 {$R 'FP.res' 'FP.rc'}
procedure TForm1.Button1Click(Sender: TObject);
var
png: TPNGObject;
i : integer;
begin
png := TPNGObject.Create;
Image1.Visible := True;
for i := 0 to 121 do
begin
png.LoadFromResourceName(HInstance, 'AllGet1' + IntToStr(i));
Image1.Picture.Assign(png);
delay(60);
end;
end;
--以上没有问题可以执行,但没有改变运行档庞大的问题--
所以改用dll做法
--所以我把包好的DLL丢到目录下--
--以下是调用DLL的程序编码--
procedure TForm1.Button1Click(Sender: TObject);
var
h: THandle;
res: TResourceStream;
png: TPNGObject;
i : integer;
begin
h := LoadLibrary('\FP.dll');
png := TPNGObject.Create;
Image1.Visible := True;
for i := 0 to 121 do
begin
res := TResourceStream.Create(h, 'AllGet1' + IntToStr(i), RT_RCDATA);
png.LoadFromStream(res);
Image1.Picture.Assign(png);
delay(60);
res.Free;
end;
end;
--这一次却报错错误讯息为
Resource AllGet10 not found
请问这是甚麼问题?
或是有更好的方法??
请各位兄弟帮忙一下。