Search code examples
delphidelphi-7

embedded file into delphi exe application (not as a separate file from the appliaction)


i want to embedded a file (any kind of type) to my exe application and be able to extract in the remote to use it, i know how do it by embedded into resource,but i don't want to place the files in the app directory, i want to store all files (like .rec) into my exe, in c# it is possible to store as text file and then read it by FileStream but in Delphi the resource files is separate from the exe file. is there any solution to do this ? Thanks a lot!


Solution

  • You should make an .rc file and add that to your project. The content of the RC file is like:

    FIXED48                 IMAGE           ..\Resources\Fixed48x48.png
    MENU16                  IMAGE           ..\Resources\Menu16x16.png
    TICK            SOUND       ..\Resources\Tick.wav
    PING            SOUND       ..\Resources\Ping.wav
    

    Now after you do a build you can load one of these fikles using a TResourceStream:

    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;