Resource DLLs are very flexible way to make you application multilingual. They have advantages such as dynamic language switch and possibility to install only those languages that are needed. However especially Delphi programmers like that they can make applications that require only single .exe. Using standard resource DLLs does not make this possible because each language brings new file.
Sisulizer has a possibility to embed the resource DLLs inside .exe as resource data. When applications starts first time it will extract the resource DLLs from the resource data, makes the actual DLLs and after that it works just like applications using separate DLLs.
To make Sisulizer embedding resource DLLs into application right click the source name on the project tree and choose Properties. Then either check Embedded resource DLLs check box. If you use Sisulizer's functions to extract the embedded resource DLLs on run time leave Embedded resource type and Embedded resource name edit in their default values.
When you build the localized files Sisulizer will create a copy of the original file on sub directory called emb and adds the resource DLLs as custom resources into the application. The following image shows how Sisulizer adds the resource DLLs into the custom resource data. The resource type is SISULIZER and the name of the each resource is the language code of the language that the resource DLL contains. The resource data bytes of the file.
You can use your own resource type and resource naming. In that case you have change the resource type and resource name in the above dialog box and you have to write our own code that extracts the data from resource and creates the resource DLLs with proper names.
If you use the default resource type and names the only thing that you have to do is to call one function in the beginning of the application.
Sisulizer directory contains SlAddRes.exe command line tool that you can use in your makefile to add resources to your EXE file. Use it if you do not want Sisulizer to create EXE with embedded resource but you want Sisulizer to create resource DLL files and you manually embed resources DLL files into your EXE.
Call LaResource. ExtractResourceFiles function in the initialization section of the main form.
uses LaResource; ... initialization ExtractResourceFiles; end.
Look at <sldir>\VCL\ DelphiWin\Embedded sample. When you build the Sisulizer project emb\Embedded.exe file will be created. It contains the embedded Finnish (Embedded.FI), German (Embedded.DE) and Japanese (Embedded.JP) resource files. When the application is run first time it extracts the resource files.
Embedded.exe -> Embedded.exe, Embedded.FI, Embedded.DE and Embedded.JP.
Sisulizer does not contain resource DLL extraction function for MFC. You have to write you own code to extract DLLs from resource to local files.