I've created a new Photino.Blazor app using the HelloPhotino template in Visual Studio 2019.
I can run this fine from my development folder. However it does not run when published to a Program Files folder.
Can anyone explain why this is so? Is it because files are downloaded and Program Files is read-only?
I'm starting with Delphi XE5 and I would like to split my application in one exe and multiple reusable libraries. That means I don't want to split the running *.exe application in DLLs or runtime Packages.
To achieve this, I have seen that in delphi we can create runtime packages and I followed the following steps:
I have created a new VCL Forms Application project (EXE project).
I have added a new Package project (BPL project) to the project group and I have modified its project options to set usage options to 'Runtime only' and build control to 'Explicit rebuild'.
I have added a dependency betwen the EXE project and the BPL project (EXE project depends on BPL project).
Finally I have compiled the BPL project and added the generated DCP file as a runtime package in the EXE project (Project options/Package/Runtime Packages).
But when I add a reference on the EXE project to use a module (moduleX for example) from the BPL project, compiler give me an error like this:
[dcc32 Fatal Error] ModuleX.pas(7): F1026 File not found: 'C:\DDDProject\MyEXEProject\ModuleX.dcu'
If I mark as checked the 'Link with runtime packages' option in the EXE project (MyEXEProject) the solution compiles without errors but I can't run or debug the application.
Please, can anyone help me?
I don't want to split the running *.exe application in DLLs or runtime Packages.
Runtime Package BPL files are DLLs. That is what allows them to be shared amongst multiple EXEs. They are just normal DLLs with special VCL/FMX handling built in.
When you enable the "Link with runtime packages" option, you are linking the EXE file to your BPL file (or DYLIB or SO file, if compiling for platforms other than Windows), so you MUST distribute the BPL file (and any other BPL files it depends on, like rtl190.bpl and vcl190.bpl) with your EXE file. So they have to be in the EXE's folder, or at least in the OS search path, in order for the EXE to run.
When you disable the "Link with runtime packages" option, your package's code is statically linked directly into the EXE file, so you need to make sure the EXE project's search paths include the folder were your package's DCU file(s) are located.
If you want to create a reusable library but not a BPL, then create a Static Library (a LIB file) instead of a Runtime Package. You can then add the LIB file to multiple projects as needed.
I recently upgraded from Delphi 2010 to Delphi XE4, but the paths to the source files on one application I am working on are not found by the compiler. I go to Tools-Project-Options and select the Platform as 64-bit Windows and add the paths to the source files to the Library path. I close the dialog and try to compile but the paths are not found. I reopen project options and find that it has reset itself to 32-bit windows.
What is causing the dialog to not set the paths and revert to 32-Bit Windows?
The some files are found, but some are not. The files that are not found are the 64-bit Abbrevia
files and the 32-bit Abbrevia files.
I have successfully created other 64-bit apps without this problem, so I an confused as to what is going on.
My project is dynamic linked to PackageCommon.bpl. Distributed My project.exe wants PackageCommon.EXE on runtime but when i rename .bpl to .exe it is works fine. What is the reason?
I'm running Delphi XE3 on Windows 7.
I am attempting to move to XE2 from Delphi 6.
When I compile and create an exe the exe and dcu appear to be put in the \win32\debug directory under the project.
Is there any way to have it put the exe and dcu in the same directory as the project and source?
Go to the project options and remove these: