-
Content Count
2976 -
Joined
-
Last visited
-
Days Won
106
Everything posted by dummzeuch
-
What are your compiler settings for debug builds?
dummzeuch replied to dummzeuch's topic in Delphi IDE and APIs
Unfortunately it's not always that simple: Assume a sub-procedure (since numbers is not a field): procedure GetItem(_idx: integer): integer; begin Result := numbers[_Idx]; end; Then call it with an invalid index. Range checking would detect it. Of course you could add code that checks for it: if (_Idx < Low(Numbers)) or (_Idx > High(Numbers) then raise EProgramerTooBloedError.Create('The programmer is an idiot!'); but then we are back to having to write code that could be autogenerated. -
What are your compiler settings for debug builds?
dummzeuch replied to dummzeuch's topic in Delphi IDE and APIs
I recently found that my image processing code became about 30% faster after turning off range checking. So I added a conditional define that allows me to turn it off for some units even of it is on in the project settings. But as stated above: In debug builds I usually turn it on and that has saved my a** several times. -
How to disable automatic adding of units to interface-uses
dummzeuch replied to microtronx's topic in FMX
No, there is no such option. You could add a unit alias for it, that redirects to a unit that's already there, e.g. SysUtils. Then the unit would still be added to the uses list, but would not be compiled into the executable. -
(Actually it's a Virtual String Tree, not a grid) Yes, I did, for various things. Unfortunately nothing much ever came from that, they didn't even fix the OTA bug that partly broke the Replace Component expert. And I can't waste any of my employer's support tickets on GExperts.
-
Unfortunately there seems to be no way to access the text in the messages window in Delphi > 7. They switched from a list view (?) to a virtual string grid when they rewrote parts of the IDE. (If somebody knows a solution for this, I'd be happy to add quite a few new features to GExperts, that become possible with that.)
-
If switching to 64 bits is not feasible, you could try to enable IMAGE_FILE_LARGE_ADDRESS_AWARE which might solve the issue for now. (no idea where this formatting comes from, apparently I can't turn it off)
-
How to use library from Delphi 10.1 DCUs in Delphi 10.3.3?
dummzeuch replied to PeterPanettone's topic in VCL
... or get the source code. -
Please file a bug report on SourceForge
- 1 reply
-
- code formatter
- gexperts
-
(and 1 more)
Tagged with:
-
These are the links about the virus scanner false positives. The download links are below that and these work fine (at least for me here on the hotel WiFi).
-
I didn't follow this thread so I had to scroll way back to see what it is about. There are various options to insert/remove line feeds in if then else statements. Have you tried them? If they don't satisfy your needs or think there is a bug, please file a feature request or bug report on sourceforge, detailing exactly what you want. Of course you are also free to implement any necessary changes yourself an provide a patch.
-
Stable remote control using Indy TCP/IP
dummzeuch replied to Yaron's topic in Network, Cloud and Web
Why? Simply add it to the list of exceptions the debugger should ignore and you will never see it again. -
Does the server really use the svn: protocol? I thought that was legacy. Or does it use http(s)?
-
Do you really want to check out the whole repository or only the trunk? If the former, this is correct, if the latter, add /trunk to the URL. The result will then be a working copy that can be updated with svn update From within that directory.
-
Try to spot these: fViewSignups:= tfViewSignups( Self ); Also quite difficult.
-
Does anybody know what happened to the DIBControls by Droopy Eyes Software? Their website vanished in 2007, but the Wayback Machine remembers it: https://web.archive.org/web/20071009172906/http://www.droopyeyes.com/default.asp?mode=ShowProduct&ID=3 I was able to even download the sources (Haven't looked at them yet). Have these components maybe been included into any other component packs? Does anybody have experience using them? twm
-
How to share data between apps
dummzeuch replied to Tom F's topic in Algorithms, Data Structures and Class Design
I definitely wouldn't, at least not if it is about transferring large amounts of data between programs on the same computer. -
Given a unit that exports a function that should be inlined: unit bla; {$INCLUDE 'jedi.inc'} interface function blub: integer; implementation function blub: integer; {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF} begin Result := SomeCalculationHere; end; Is it OK to put the inline only in the implementation? Or does it also have to go to the declaration in the interface section? It compiles OK this way, but I don't know whether it would still be inlined. I'm asking because I would like to keep the interface as clean as possible which means avoiding to clutter it with an ifdef.
-
The annoying problem of the growing GExperts menu
dummzeuch posted a topic in Tips / Blogs / Tutorials / Videos
As I add new functionality to GExperts the menu it displays grows larger and larger. On small monitors (there are still computers with e.g. 1024×600 pixels screen size in use, usually not with the latest Delphi version though) this means that the menu has to be broken into chunks, each with a “more” entry at the end to display the next chunk. While this has been implemented for years (decades actually) it didn’t work very well. For Delphi 6 the code was completely broken (I might have been the culprit myself) it still had some bugs with all later versions. No more. Today I fixed those bugs and tested it with screens as small as 640×480 pixels. Also, when moving the GExperts menu into the Tools menu, there was a problem that the maximum number of entries for a chunk was not calculated correctly which would mean that the “more” entry could end up outside the visible area. This has also been fixed. Unfortunately this does not solve the underlying problem: The menu keeps growing. There are now a maximum of 45 + 3 Entries in that menu. [read on in my blog post] -
The annoying problem of the growing GExperts menu
dummzeuch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
From my blog post: But thanks for your suggestion on how to group them. I'll keep that in mind once I get to actually implement it. -
That page is petty much dead. The only way to reach anybody of the Jedi team (the few that are left) is through GitHub.
-
If you want this bugfix to be included in the JVCL, you will have to create a pull request on Github.
-
How to share data between apps
dummzeuch replied to Tom F's topic in Algorithms, Data Structures and Class Design
If dropping frames is not an issue, why bother with such a large buffer? Two frames would be enough. -
How to share data between apps
dummzeuch replied to Tom F's topic in Algorithms, Data Structures and Class Design
If that's acceptable, simply using files would probably be the easiest way. Since we don't know what those programs actually do with the images, that's difficult to decide. If files are too slow, I would probably go with memory mapped files with two buffers and a combination of mutexes and events (event as in syncobjs.TEvent). One buffer is always available for the sender to fill. It doesn't check, just locks it (using the mutex), writes to it, unlocks it and sets an event to signal that data is available. The receiver is the part that manages which buffer is currently to be written to. It then waits for the event, switches the write buffer to the other one and starts processing the data. If that takes longer, the sender will overwrite the data in the write buffer as long as necessary. Yes, I think that would work. Needs a bit of polishing though. -
I'm in the process of restructuring the GExperts sources. Currently the trunk is broken. If you want to compile your own DLL, use the https://svn.code.sf.net/p/gexperts/code/tags/before-switching-to-original-dzlib tag.
-
They compile again. But there are still a few warnings and hints I need to investigate. Also, some testing will be in order.