-
Content Count
2312 -
Joined
-
Last visited
-
Days Won
119
Posts posted by Anders Melander
-
-
33 minutes ago, limelect said:Is it only in enterprise Not in professional?
Yes, unfortunately.
-
1 hour ago, Lajos Juhász said:In that case windows will run out of GDI handles and give error.
I think the IDE form designer might work around that; Only one design form can be visible at a time.
Just a guess.
-
1 hour ago, FabDev said:My computer has 32 GB of memory, but the Delphi IDE crash after 2.5 GB...
The address space of a 32-bit application is 4GB. Some of that is reserved by Windows. By default 2GB but for Large Address Aware applications (such as the Delphi IDE) it's 1 GB. These values can be customized globally. Your hardware configuration (motherboard, etc..) can have an effect on the reserved size, btw.
https://learn.microsoft.com/en-us/windows/win32/memory/virtual-address-space
If you are running out of memory at 2.5GB then the IDE is trying to make an allocation of 0.5 GB or more. This seems unlikely so there could be something else going on. You might wait to check the size of "hardware reserved memory" on your system.
1 hour ago, FabDev said:And what happens when more than 100 forms are opened at the same time or after intensive code completion using or pressing F1 (for help) > out of memory.
100 forms open at the same time is hardly a typical use case. Why would you ever want that?
FWIW, I just tried opening all the over 600 forms, frames and datamodules of a project with around 3 million lines of code. It uses DevExpress ribbon, docking, skins, grids, and controls, FireDAC, etc. That consumed 3.4 GB but happily compiled and linked. It's a 64-bit project.
I'm not saying that your problem isn't real but I don't think this problem is common enough that it alone justifies migrating the IDE to 64-bit. And I certainly don't think your rhetoric will help your case.
- 2
-
3 hours ago, David Heffernan said:Is the debugging experience still terrible though?
That's not the worst; Installing a component still requires recompiling the IDE. That probably makes sense on Linux, but it makes zero sense on Windows.
Also, the LCL and RTL aren't really up to par with Delphi.
-
5 hours ago, Heremik said:TBitBtn = 0 GDI
Looking at the source of TBitBtn, it can either use an internal TBitmap (which will consume at least 1 handle per button) or it can use an external imagelist (which will consume at least 1 handle globally [*]).
[*] Drawing an imagelist in the disabled state consumes another handle, drawing it monochrome another.
I would stay away from TBitBtn. It was cute in the nineties but today few people want their application to look like it was made in the nineties...
-
2 hours ago, Heremik said:I have made a ticket for TMS support, because even their sample use 500 GDI for a minimal Ribbon.
For comparison, I have a simple application that's using DevExpress ribbon, DevExpress grids and a virtual treeview and it uses 400-450 GDI handles.
2 hours ago, Heremik said:But I have begun to reduce GDI usage in the remaining of the software by moving imagelist present in frames instancied several times, to a datamodule.
An imagelist itself uses at most one GDI handle - if any. It's the individual bitmaps that copy data from the image list that uses the handles.
-
16 hours ago, luciano_f said:I have a version 10.2 license and I have problems with low memory when compiling a large application. I tested version 11.3 and the problem is the same.
When will Embarcadero be ashamed and make a robust 64-Bit IDE? I'm already thinking seriously about Lazarus
I already made this post
Friends could also do the same thing, who knows, everyone asking for the same thing and giving could speed this up.
That issue basically just says "Give me a 64-bit version because I say so - or else". I would just close it if I were Embarcadero.
But I'm sure that migrating to Lazarus will ensure that you don't have to worry about memory limitations anymore. You will have a whole slew of other problems to keep you busy instead. Good luck with that.
- 2
- 2
-
3 hours ago, Alexander Halser said:The rationale behind this consideration is that a mobile app goes to one of the stores and automated updates are very likely, minimizing the risk of a version mismatch between app and help. Furthermore I expect a mobile device to be online anyway. Both points may not apply to a desktop app. But it's really a personal preference.
It makes perfect sense to me.
- 1
-
33 minutes ago, Uwe Raabe said:There is no need to have line breaks when they are later ignored anyway.
So you don't format your source code with line breaks? - Because the Delphi compiler will ignore them anyway.
It's not something I often do, but once in a blue moon I need to have a largish block of text in the source and that's just the way it is. Let's assume that there are reasons for this and that I know what I'm doing.
- 2
-
1 hour ago, Rollo62 said:What outcome level of graphical perfection do you expect ?
Can't be much:
On 9/16/2023 at 2:52 PM, nm1978 said:Drawing 2D using LCL canvas only.
AFAIK the LCL canvas doesn't support anti-aliasing.
-
1 hour ago, Alexander Halser said:Because CHM is basically Windows only and not cross-platform.
It's just a file format. There's nothing it that limits it to Windows.
https://en.wikipedia.org/wiki/Microsoft_Compiled_HTML_Help#Use_in_non-Windows_applications
-
56 minutes ago, Uwe Raabe said:There already exists a syntax to achieve this:
const blub = 'Lorem' + ' ipsum' + ' dolor';
I can't tell if this was an attempt at humor because that's exactly the syntax I want to avoid.
- 1
-
1 hour ago, Heremik said:TMS Ribbon use more than 5000 GDI objects for an interface of only a dozen of tabs (and related ribons) !!!!!!
Sounds like a bug to me.
Have you checked the application for resource leaks?
- 1
-
33 minutes ago, Stefan Glienke said:The closing quotes dictate the alignment, lines inside the string thus cannot be more left than the closing quotes, the last line does not have a trailing line break, if you want a trailing line break, add an empty line
By Ignore newline I meant from this:
Lorem
ipsum
dolor
produce this:
lorem ipsum dolor
-
1 minute ago, Uwe Raabe said:The docs contain more information than the blog post shows.
What docs?
-
5 hours ago, emileverh said:They heard my voice ;-))
https://blogs.embarcadero.com/yukon-beta-blog-delphi-language-modernizing-string-literals/
Nice! And about bloody time too!
But surely there's more to the CoffeeScript-like syntax than this:
QuoteThere are a few more syntax rules for a multiline string :
- It is introduced by a triple quote (’’’) and a new line (so no text following the triple quotes on the same line)
- It can encompass multiple lines of the source code file (with no limitation)
- It ends with a closing triple quote (’’’) in a line without any text preceding it
Like, how does one differentiate between preserve or trim leading white space and preserve or ignore newline?
-
-
2 hours ago, Fr0sT.Brutal said:Hunspell is the spell checker of LibreOffice, OpenOffice.org, Mozilla Firefox & Thunderbird, Google Chrome, and it is also used by proprietary software packages, like macOS, InDesign, memoQ, Opera and SDL Trados
You might want to link to the source when you copy/paste some text verbatim: http://hunspell.github.io/
In addition to the Hunspell library itself, the Hunspell dictionary format is also supported by many proprietary 3rd party spell check libraries such as the DevExpress spell checker.
See also:
-
1 hour ago, dirace said:Is this a bug
1 hour ago, Anders Melander said:It's a bug
- 1
-
5 hours ago, David Heffernan said:You can get a swanky touch screen on the XPS13
Yikes.
Nobody touches my screen! Not even myself.
Besides touch screens add cost and complexity.
- 1
- 1
-
41 minutes ago, dirace said:It is working great if Stroke.Thickness is 1.
If Stroke.Thickness is 20 the selectionpoints are not at the expected position.It's a bug in FMX. Probably related to this one: https://quality.embarcadero.com/browse/RSP-39520
It's visible for Stroke.Thickness>1
-
As far as I remember it had something to do with some pre-Delphi 6 version attempting to parse the {$if ...} even though it was protected by a {$ifdef CONDITIONALEXPRESSIONS}.
It could also just have been the fact that {$if CompilerVersion...} doesn't work above the first uses clause...
Anyway, it doesn't really matter anymore. It just struck me that there was a reason why the feature didn't gain more use - from me at least.
-
9 minutes ago, Uwe Raabe said:You can even check for it:
{$IFDEF CONDITIONALEXPRESSIONS} {$IF CompilerVersion < 23.0} ... {$IFEND} {$ENDIF}
So, can anyone remember which version of Delphi broke that scheme?
It's not broken now, but I'm certain that there was a version after Delphi 6 that somehow broke {$IF} so it couldn't be used if backward and forward compatibility was needed.
-
4 hours ago, Tommi Prami said:Can anyone figure out why Embarcadero could/would/should not publish rtl, compiler etc versions and codename for the beta, just as they include first outsider to the beta test?
For the same reason they have ridiculous NDAs and don't have public betas; They are so stuck in the 90s that they think anyone still gives a damn.n They never understood how to build a community.
- 5
Parallel Resampling of (VCL-) Bitmaps
in I made this
Posted
Most modern jpegs require sequential decompression due to the compression algorithms used (decompression of a block is based on the result of the previous block); There's nothing much to parallelize.
Jpegs with lots of restart markers (a restart marker means that the result of the previous blocks isn't needed) in the compression stream would benefit from parallelization but it is my understanding that those have become very rare as the problem they were meant to solve (data corruption during download via modem) no longer exist.