我编写了一个程序,通过.rc编译加载.bpl包中的.mp4文件。 之后我创建了一个框架来从exe加载上面编译的.bpl。 但是当从exe调用TResourceStream时,此函数无法从bpl中提取数据。
我已经制作了.RES文件,其中包含了我的.mp4视频,并使用了bpl部分中的资源。
我的代码在这里:
我加载bpl文件的第一家公司
procedure TForm4.LoadFrame(Name, ModuleName: String);
begin
PackageModule := LoadPackage('C:\Users\Shishir\VideoPack.bpl');
AClass := GetClass('TFrame_VideoGrabber');
if AClass <> nil then
begin
with TComponentClass(AClass).Create(Application) as TCustomFrame do
begin
Parent := Panel1;
Align := alClient;
Show;
end;
end;
end;
这部分我想玩.mp4文件 我从加载的.bpl
中提取数据时遇到问题procedure TFrame_VideoGrabber.BitBtn3Click(Sender: TObject);
var
rStream: TResourceStream;
fStream: TFileStream;
fname: string;
begin
fname := ExtractFileDir(Paramstr(0))+'vid.mp4';
rStream := TResourceStream.Create(hInstance, 'Intro', RT_RCDATA) ;
try
fStream := TFileStream.Create(fname, fmCreate) ;
try
fStream.CopyFrom(rStream, 0) ;
finally
fStream.Free;
end;
finally
rStream.Free;
end;
{this part plays the mp4}
WindowsMediaPlayer1.url:=fname;
end;
我收到此错误消息: EresNotFound,显示消息&#39;资源简介未找到&#39;