The official way to report bugs and file feature requests is through CodeGear's Quality Central. The ideas presented in this wiki are for discussion purposes. Where applicable, links to QC reports will be provided in the hopes that the community will vote for changes/additions to Delphi.
DCU and PackagesEdit
Delphi Compiled units have always been a problem, the use of a tagged (like xml or tiff) or database-like format would allow changes to the format without affecting compatibility. Reinvent the dcu format, (packages of precompiled code and compiler state that can be transformed into assembler x86, x64, amd, .net, win32, Linux, java, etc.). DCUs and Packages should also compatible between versions.
Object files explicity refer to objects in the 'run time library', and implicitly make assumptions about data structures in the 'run time library'. A DCU can easily be transformed into any on other version or format that uses exactly the same runtime library. This is not a DCU limitation: it is a limitation of compiled objects. The 'problem' is solved by including uncompiled code (source code), or by not ever linking to library code.
Native 64bit compiler.
Compact Framework Edit
Direct Support in the IDE.
.Net 2.0 and 3.0Edit
The ability to compile server-side Linux stuff would be a great addition, no need for a new Kylix for now, but allow Windows Developers to cross-compile Linux Apache Modules, CGI, Webservices, Daemons (Indy?).
But that would mean that remote debugging for Linux should be integrated. --Dummzeuch 09:55, 29 October 2006 (UTC)
And to add my personal wish: I would like to create GUI apps for Linux as well. Preferably with an IDE that runs under Linux but I could live with a crosskylix like solution if it had remote debugging capabilities. --Dummzeuch 09:55, 29 October 2006 (UTC)
Intel Macs should be easier to deal with than PowerPC ones, but this needs to be a full client (with full mac-like features) as well as server stuff.
New IntraWeb-like AjaxEdit
A new intraweb-like ajax interface, every form becomes an html page, that communicates with the server (AJAX) to do all its work, this would use normal Delphi semantics to program:
procedure Button1Click(Sender:TObject); begin Label1.Caption:=Edit1.Text; end;
This could be implemented as a special platform, where the lowest common denominator of .Net and Win32/Win64 is allowed, this allows to target a specific platform at compile time (even compile multiple platforms in a *Build*).
Mixed language, Mixed PlatformEdit
A project with: 2 C# .net units 4 Delphi Win32 units 1 C++ Win32 unit
Compile as Win32 or .Net