While official Embarcadero materials emphasize only FireMonkey technology in light of creating MacOSX applications, it is yet very possible to create Cocoa applications w/ native MacOSX look and feel without using FireMonkey at all: Embarcadero have performed all the necessary job of translating Objective-C Cocoa headers to Delphi; compiler and debugger environment is working fine for non-FireMonkey applications.
So, in order to create 100% native Cocoa applications in Delphi XE2 you will have to master the following:
If you'll upgrade to Delphi 2010, you'll quickly notice that old code you were using to create threads, such as
If you have applied my techniques fixing Large Fonts and System Font to all forms in your Delphi application, most likely there will be two forms still untouched. These will be the forms hidden inside MessageDlg and InputQuery VCL functions.
In this post I will show how to modify InputQuery to support System Font.
Most Delphi applications are using MS Sans Serif 8 as their default font, meanwhile Windows XP system font is Tahoma 8.25 and Windows Vista system font is Segoe UI.
Below code makes Delphi applications support Windows system font:
99% of Delphi applications I have seen, do not support Large Fonts, or support it very badly. There is a Scaled property in TForm, people think it is about to scale the form in case of non-default DPI setting, but it is just not working properly.
Below code scales TForm the correct way:
Windows API functions are declared in structured programming style.
For example consider classical example of using critical sections:
If you believe you've optimized your Delphi application to the max, and there is no room for performance improvement, then you should check out following site: http://sourceforge.net/projects/fastcode
Make TPanel designable like TForm & TDataModule...