嵌入式文件到delphi exe应用程序(不作为应用程序的单独文件)

sam*_*sam 4 delphi delphi-7

我想嵌入一个文件(任何类型的)到我的exe应用程序,并能够在远程提取使用它,我知道如何嵌入到资源,但我不想将文件放在app目录,我想将所有文件(如.rec)存储到我的exe中,在c#中可以存储为文本文件,然后通过FileStream读取它,但在Delphi中,资源文件与exe文件是分开的.有没有解决方案呢?非常感谢!

Rit*_*tra 16

您应该创建.rc文件并将其添加到项目中.RC文件的内容如下:

FIXED48                 IMAGE           ..\Resources\Fixed48x48.png
MENU16                  IMAGE           ..\Resources\Menu16x16.png
TICK            SOUND       ..\Resources\Tick.wav
PING            SOUND       ..\Resources\Ping.wav
Run Code Online (Sandbox Code Playgroud)

现在,在进行构建之后,您可以使用TResourceStream加载其中一个fikles:

procedure TdmReportGeneral.InsertLogo(Memo: TStringList; View: TfrView);
var
    S:    TResourceStream;
begin
    if (View is TfrPictureView) and (View.Name = 'Logo') then begin
        S := TResourceStream.Create( 0, 'FIXED48', 'IMAGE' );
        try
            // do something useful... TfrPictureView(View).Picture.MetaFile.LoadFromStream( S );
        finally
            S.Free();
        end;
    end;
end;
Run Code Online (Sandbox Code Playgroud)