I have a VCL that calls a DLL written in FireMonkey.
When I call it, it immediately returns, rather than staying active. It should stay active, as it has a lot to do, and much user interface to handle.
uMMain in 'uMMain.pas';
procedure ShowMobile(Language: ShortString; Directory: ShortString;
AppDir: ShortString); export;
test := 'OK';
MM := TfMMain.Create(application);
MM.DLL := true;
MM.AppDir := AppDir;
MM.Language := Language;
MM.SubDir := Directory;
test := 'Failed';
Also, even though the debugger shows that the logic is passing through the Free command, the FireMonkey form appears to persist, and then the system destroys it a few seconds after the parent program has ended.
When the code in the DLL is compiled as a stand-alone Windows32 exe, it works fine.