Delphi 10 Seattle project high memory usage - memory

I had Delphi 10 Seattle installed and some VCL and in-house built components, the project I am working on seems a bit laggy (happens to me only, not to my colleagues), here are the memory usage:
1)
- Opened Seattle ~40MB
- Opened the project ~535MB
- Compiled the project ~1.2GB
2)
- Closed the project ~800MB
- Closed Seattle - 0MB
- Opened Seattle ~40MB
- Opened the project ~535MB
- Built the project ~1.9GB
I am wondering if my project settings has something to do with it?
Thanks

Related

Will Delphi XE4 install on Windows 10 and will the apps created with XE4 run on Windows 10?

I have Delphi XE4 that I have never used and I have an upcoming project that I need to create an app that will need to run on Windows 10 64bit. I have several questions:
1 - Will XE4 install and work correctly on Windows 10?
2 - Will the apps created with XE4 run on Windows 10, 32bit or 64bit apps?
3 - Are there other issues I should be aware of regarding XE4 and Windows 10?
Thanks,
TD
1 - Will XE4 install and work correctly on Windows 10?
Yes.
2 - Will the apps created with XE4 run on Windows 10, 32bit or 64bit apps?
Yes.
3 - Are there other issues I should be aware of regarding XE4 and Windows 10?
XE4 does not have Windows per-monitor High DPI support built in. This can be worked around, but depending on your requirements it may require substantial changes, including modifications of VCL Form and Screen classes.
More precisely, if application has to run only in single monitor environments or only in multiple monitor environments where all monitors have same DPI settings then there are no problems and simple entry in application manifest will do.
However, this quick hack cannot be used if application has to run in multiple monitor setups where each monitor can have different DPI settings. In that case application will either run in compatibility mode which will result in blurry forms on High DPI monitors, or changes to the VCL are required to avoid blurriness.

Installing GLscene in Delphi 10 Seattle bds

Before upgrading to Delphi 10 Seattle I got a demo copy in the site and tried to install GLscene following strictly the instructions in file:///C:/GLScene_VCL/_Installation/Installation.htm.
Everything was going well and I could go up to the step 10 without serious problems including the “Compile All From Here”. It compiled correctly.
Nevertheless when I tried to “Install every DesignTime package of visual components to RAD Studio palette pages” in all of them I get an error of Access Violation … in module BDS.exe.
I installed and re-installed the Delphi 10 and tried other times without success. I am almost sure that the cause is something related to the path of the libraries.
Can anyone help me?

Is delphi XE7 compatible with windows 10?

Anybody know if delphi xe7 compatible with windows 10?
Embarcadero says that XE8 is compatible. But tells nothing about XE7.
Yes, you can install XE7 on Windows 10, and the executables that it produces are compatible with Windows 10.
Embarcadero have been producing a lot of marketing recently that implies that you need XE8 to do Windows 10 development. Truth be told, you can use any version of Delphi beyond Delphi 1. Of course the newer versions make life easier, and clearly you need XE2 or later to target 64 bit executables.
So far as I can see, the only Windows 10 specific feature that is offered with XE8 is a Windows 10 style. That was what I took from a conversation with Marco Cantú on the subject. I guess that would be useful for FMX targets. If you are targeting classic VCL apps, and use the standard system theme, then this is of no interest. There's no point at all in faking the system style when you can let the system give you the true style. My old Delphi 6 applications, built with Mike Lischke's theme manager code, look and feel on Windows 10 identical to an application built with XE8.
Although Embarcadero says that XE8 is compatible with Windows 10, I'm unable to install or load our existing bpl projects using XE8 with Windows 10.
I moved to XE8 because our projects wouldn't build with Windows 10 using XE4.
You can install and run Delphi XE7 on a Windows 10 machine. And of course you can compile your projects on Windows 10.
But there were no enhancements made in the VCL or FireMonkey towards the new operating system. There is no official support for Windows 10. Your applications may not look and feel 100% like other applications do on Windows 10. But they can still be run as long as long as they don't use any old API that is no longer supported on Windows 10.
You can install and run Delphi XE7 on a Windows 10 machine.

Don't have mobile and/or iOS options in delphi/c++ builder

First of all, I am so sorry for the STUPID question but I am tired of searching google for the answer. I don’t have the option to create mobile and/or iOS applications in Delphi and C++ builder, is there something I need to setup before I can see those options?
I am currently using RAD XE3 Update 1 version 17.0.4723. Perhaps the version I have does not come with the options I need.
There is a simple answer:
XE2 allowed you to create iOS apps using the open source version of FireMonkey and FreePascal in Xcode.
XE3, which was meant to contain a native iOS compiler, got rid of that, but the iOS compiler was not finished in time.
To program natively for iOS, you must use XE4 (or later). This has options to create iOS apps (File | New | Other | Delphi projects | FireMonkey mobile app) .
So sorry, with XE3 you are out of luck.
There is no support for mobile in XE3. It was added in XE2 using FPC compiler, removed from XE3 and then restored for XE4 using new Embarcadero mobile compiler.
Right now IOS(Iphone/Ipad) is supported in the following,
XE4 - Architect,Ultimate and Enterprise versions.
XE4 - Professional + additional mobile add-on pack(~ 449 dollars offer).
Hope this helps.

How do I determine the Delphi version which created a Delphi project

I am trying to automatically figure out which Delphi version (of Delphi 5 to XE2 installed on my computer) to use to open a given project without upgrading that project by mistake.
Up to Delphi 7 there is a .dof file in .ini format for each project.
Delphi 5 does not have any entry which might help, but starting from Delphi 6 there is a [FileVersion] section which contains the following values:
Delphi 5: N/A
Delphi 6: 6.0
Delphi 7: 7.0
So I guess that settles that, since older Delphi versions do not concern me.
For Delphi 2005 and 2006 there is a .bdsproj file in XML format containing a version entry:
\BorlandProject\PersonalityInfo\Option\Option
In Delphi 2005 it looks like this:
<Option Name="Version" Type="String">1.0</Option>
In Delphi 2006 like this:
<Option Name="Version">1.0</Option>
So I could look whether the attribute "Type" exists and depending on that decide on Delphi 2005 or 2006.
Could somebody please have a look at his Delphi 2005 and 2006 projects and verify this difference? (Or do you maybe have got a better idea?)
edit: I just tried to verify this and found, that Delphi 2005 does not always add the Type-Attribute. So now I am stuck.
edit: Maybe the GUID stored there is unique to the Delphi version?
Delphi 2005: {87D03616-A4C7-4B5A-AF0F-0164EA60BC59}
Delphi 2006: {CFE1BEE6-6FDE-4241-8CA5-D38D14EAA768}
Somehow I doubt it, I am afraid that the GUID may represent different SKUs (Professional / Architect etc.). But maybe you could verify this?
Starting with Delphi 2007 there is a .dproj file in a different XML format. The Delphi 2007 format does not contain any version entry I could find, but from Delphi 2009 on there seems to be the following entry:
\project\PropertyGroup\ProjectVersion
These are the values I found in my .dproj files:
Delphi 2007: N/A
Delphi 2009: 12.0
Delphi 2010: 12.0
Delphi XE: 12.3
Delphi XE2: 13.4
If these are correct, I could reliably determine Delphi 2007, XE and XE2. But how do I distinguish between Delphi 2009 and 2010?
Also, these numbers look odd to me. Does anybody know whether there are any differences between the various updates of Delphi, e.g. did the original Delphi XE2 release maybe start with 13.0 and with each update increment the number after the dot? But if that's the case, how did Delphi XE get 12.3?
(There is a similar question How can I tell what version of Delphi was used to create a project but the single answer there is quite limited.)
Just in case anybody else needs this: I have just added a page to the Delphi Wiki which summarizes all answers and adds information for newer Delphi versions (currently up to Delphi 10.4.1).
I have now compared the .bdsproj files of Delphi 2005 and 2006 and there is no difference. Also, there is no difference between the .dproj files created by Delphi 2009 and 2010.
So the answer is:
if a .dproj file exists -> read \project\PropertyGroup\ProjectVersion
empty -> Delphi 2007
12.0 -> Delphi 2009 or 2010
12.2 or 12.3 -> Delphi XE1 (according to Uwe Schuster)
13.4 -> Delphi XE2
if a .bdsproj file exists -> Delphi 2005 or 2006
if a .dof file exists -> read [FileVersion]\version
empty -> Delphi 5 (or possibly older)
6.0 -> Delphi 6
7.0 -> Delphi 7
Unfortunately this does not allow me to write a program that automatically starts the correct Delphi version for a given project.
Maybe I will let the program ask the user if there are two possibilities and store his answer in a .ini file so the next time the program knows which Delphi version to start.
btw: The reason I was looking into this is that I have several times accidentally opened Delphi 2007 projects with a later Delphi version which upgraded it and I had to reverse these changes by hand. This has become so annoying that I wanted to prevent it by registering my own program as handler for .dpr files.
The version numbers in the *PROJ files are not bound to releases or updates and not all versions hit the streets.
Delphi XE RTM used version 12.2
Delphi XE Update #1 uses version 12.3
Delphi XE2 (RTM till Update #4) uses 13.4
Just installed XE3 (RTM).
14.3 XE3 (C++ & Delphi)
Today I find this topic googlin about Delphi edition (Standard, Professional, Enterprise).
Anyway I checked some .dof files spread in mine machine and there is facts related to ancient delphi versions:
if a .dof file exists -> read [Directories]/Packages
Delphi 3
[Directories]
OutputDir=
UnitOutputDir=
SearchPath=
Packages=VCLX30;VCL30;INETDB30;INET30;
Delphi 5
[Directories]
OutputDir=.
UnitOutputDir=.
PackageDLLOutputDir=.
PackageDCPOutputDir=.
SearchPath=
Packages=Vcl50;Inet50;Inetdb50;Vclx50;Indy50;
Additional info can be finded near end of dof file:
D3:
[Excluded Packages]
C:\Program Files\Borland\Delphi 3\Bin\DCLDSS30.dpl=Delphi Decision Cube Components
C:\PROGRAM FILES\BORLAND\DELPHI 3\BIN\DCLTEE30.DPL=Delphi TeeChart Components
D5:
[Excluded Packages]
$(DELPHI)\Bin\CorIde50.bpl=Borland Core IDE Package
$(DELPHI)\Bin\direct50.bpl=Borland Direct IDE Package

Resources