Now I'm thinking about the architecture of my program. I plan to provide access not only for Desktop usage, but for mobile platforms as well.

I want to create a bpl package as separate file. That is I want to have in Windows version next files: program.exe + logic.bpl. It can be usefull because logic.bpl may be often modified, as it is a very important part of my program.

Besides other programmers (my friends) will be able to develop their own logic and replace the logic.bpl file to their own. So, there are next questions:

  1. Will I have any problems with compiling the program for Android, iOS?
  2. How can I build the program with packages for Windows and without packages for mobile platforms with minimal changes in the code?
  3. In the case of dll use instead of bpl, are there any advantages/disadvantages for cross platform programming?

1 Answer 1


No, you can't.

BPLs are for windows only. A BPL is just a Windows DLL, which is a binary for the Intel 80386 (x86) or AMD64 (x64) instruction set.

There are no DLL at all on iOS or Android, and if there ever are in the future, they certainly will not be in PE format, or binary compatible.

  • It is interesting to note that in the .NET world, there are such things now, they are called PCLs, portable class libraries. Since Delphi is native (which is fast) and has no bytecode VM associated with it, the concept makes no sense.
    – Warren P
    Oct 28, 2015 at 20:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.