I am working with another developer team and they have a code writen in Delphi 7 that doesn't work because of the functionality of TStringStream. So they ask me for help with this but I'm using Delphi xe2.
Is there any way to change the compiler options in my Delphi xe2 IDE and see the behavior of the code in Delphi 7?
There are no compiler settings that can be used to revert the compiler/RTL to pre-Unicode state.
If you want to compile in a Unicode Delphi, you have to make code changes. The other obvious option is to use a pre-Unicode Delphi.
Related
There seems to be a compatibility issue between Delphi 10 Seattle and Delphi 2010
I've written a school project using Delphi 10 Seattle but my teacher still uses Delphi 2010. When I transferred and opened the source code in Delphi 2010 it gave errors.
I've installed 2010 on my PC to replicate the error (screenshot below)
"File not found Vcl.Forms.dcu"
Any thoughts how to get this to work, the marking/moderating takes place with Delphi 2010.
Unit scope names were added in Delphi XE2. Vcl.Forms does not exist in older versions of Delphi. Instead, it should just be Forms.
The reason is because of the introduction of the Firemonkey framework in Delphi XE2. With Firemonkey also came the necessity to differentiate Vcl.Forms from Fmx.Forms. The same applies with many other units, such as Graphics. Delphi 2010 did not have Firemonkey, so it did not yet enforce this prefix.
If you need code to compile in Delphi 2010 and Delphi 10 Seattle, specify only the base unit names in your uses clause (Forms, Graphics, etc), and make sure your Delphi 10 Seattle project has the necessary scope(s) (Vcl, Winapi etc) setup in Project > Options > Delphi Compiler > Unit scope names. By default, new projects should already have this. If not, you can add Vcl and any other prefixes you need. This will make sure the compiler can find Vcl.Forms even when you specify only Forms in code.
Is there some possibility to use Delphi xe7 form in Delphi 7 project, without create DLL file? I found "Monkey-Mixer" which allows to use FMX form in VCL project, and I wonder is there same tool for use new VCL forms in older versions of Delphi?
Is there some possibility to use Delphi XE7 form in Delphi 7 project, without creating DLL file?
No there is not. You cannot link code from different versions of Delphi into the same executable.
I use Delphi XE3 and I want to migrate to the Delphi XE4. Can I use the same third party components as I used in XE3 in XE4? In previous versions happened many changes, which precluded the use of previous versions of third party components.
You must re-compile your project in XE4, using XE4's VCL.
If by "XE3 VCL" you are actually referring to third-party VCL components, then they need to be compiled and installed in XE4 before they can be used in XE4 projects.
This is true of just about every Delphi version (D2007 being the only exception, as it was binary compatible with D2006).
I just bought and installed Delphi XE and was hoping to compile my old D7 project there.
However, I hava a source file that "uses QForms" and that generates a "file not found: qforms.dcu" and I can find no relevant reference to what to do about that file googling around...
Any idea how to solve it?
Rgds
PM
QForms is from CLX, the Qt based cross-platform library that was introduced with Delphi 6/Kylix. So far as I know, CLX is no longer shipped with Delphi.
You need to do one of the following:
Stick with Delphi 7.
Port the code to VCL. This will tie you to the Windows platform.
Get Delphi XE2 and use FireMonkey since clearly at some point in time this code was intended to be cross-platform.
Out of curiosity, does anyone know which IDE the developers of the Delphi IDE are using?
In Delphi (probably the previous version). The compiler itself is written in C, but the IDE is written in Delphi. Through the OTA, you can actually access the various objects, like TActions, that exist in the IDE.