从.BPL包中提取资源(即.MP4文件)

时间:2018-02-28 06:18:51

标签: delphi

我编写了一个程序,通过.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;

0 个答案:

没有答案