Leaderboard
Popular Content
Showing content with the highest reputation on 09/01/23 in all areas
-
What is the benefit of sorting the Uses clause?
Lars Fosdal replied to RCrandall's topic in MMX Code Explorer
I remember having this discussion with an american on LinkedIn. He had written a tool that sorted the uses clause, and he turned a darker shade of crazy when I pointed out the risks, "chanting" USA, USA, USA. No point in discussing with such people. -
ICS V9.0 has been released at: https://wiki.overbyte.eu/wiki/index.php/ICS_Download ICS is a free internet component library for Delphi 7, 2006 to 2010, XE to XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney and 11 and C++ Builder 2006 to XE3, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney and 11. ICS supports VCL and FMX, Win32, Win64 and MacOS 32-bit targets. The distribution zip includes the latest OpenSSL 3.1.2 win32, with other versions of OpenSSL being available from the download page. ICS V9 is planned to be a long term support release with no new components or major features added, just bug fixes as needed, major changes will be for V10. V9.0 has been tested with Delphi 7, but I had to make changes to several new components due to missing language features and TWebBrowser does not exist, so V9.0 will be the last tested with D7. Delphi 2007 is easier to support for those building ANSI projects and will become the oldest version supported. An overview of the new samples and components was posted in this group a few days ago, and is included in the download page. The full release notes for V9.0 are at https://wiki.overbyte.eu/wiki/index.php/ICS_V9.0 All ICS active samples are available as prebuilt executables, to allow ease of testing without needing to install ICS and build them all. There are four separate zip files split into clients, servers, tools and miscellaneous samples which can be downloaded from https://wiki.overbyte.eu/wiki/index.php/ICS_Samples The Getting Started page at https://wiki.overbyte.eu/wiki/index.php/ICS_Getting_Started has also been updated with all the new components. Angus
-
Can ICS thread cause memory violation? (EOutOfResources error)
FPiette replied to PizzaProgram's topic in ICS - Internet Component Suite
This probably means that there is no memory leak but memory fragmentation. You have 118MB memory split into thousands of block separated by small free blocks. In madExcept, you can check for either memory overrun or under-runs. It is detected instantly and triggers an exception. Just check the checkbox in madExcept settings. One of my first advice was you split the whole applications in small chunks, candidates are the threads. Run the code in another executable easier to debug and understand than the whole application. Divide to conquer!- 76 replies
-
- thread
- eoutofresources
-
(and 2 more)
Tagged with:
-
I've got a tab on our About dialog that lists all open source libraries used in the project based on checking whether a specific unit is linked to the executable. The idea there is to automatically provide credits to these, but it could be extended to also include commercial libraries as well. Just find a unit name in these libraries that is always llinked in when the library is used. It looks like this: That's not quite an SBOM, but it is a good start, I think. Of course this only makes is easier to get such a list if you have more than a few programs, otherwise doing it manually would not be such a chore either. Here is the Stack Overflow question that got me started on how to do that: https://stackoverflow.com/q/12104914/49925
-
It would be nice to address Linux ARM because more and more IoT and robots are using these processors. It would really be nice to target those ones from RadStudio.
-
What is the benefit of sorting the Uses clause?
mvanrijnen replied to RCrandall's topic in MMX Code Explorer
Actually this means there is a design flaw (i know, hard to not have this situations, we have them also, but in reallity it's something to fix i think). How you going explain 15years later that unit xyz has to be before unit abc, put some text in comments ? -
What is the benefit of sorting the Uses clause?
Uwe Raabe replied to RCrandall's topic in MMX Code Explorer
Albeit there actually is a request for that, MMX does not sort the units by name. They are grouped according to a user defined pattern, but inside the group the order stays intact. F.i. this is the Groups entry for one of my projects: After some Delphi units in a decent order based on dependency, there are the Raize and TMS units followed by VirtualTrees, PngComponents and the ZipForge units. The last four mimic the unit scopes and naming convention of the project itself also ordered by dependency. (TMS can improve their unit naming btw.) A typical uses clause looks like this: uses Winapi.Messages, System.Classes, System.Actions, System.Types, System.ImageList, Vcl.Graphics, Vcl.Menus, Vcl.ActnList, Vcl.Controls, Vcl.ExtCtrls, Vcl.Forms, Vcl.StdCtrls, Vcl.Tabs, Vcl.Dialogs, Vcl.ImgList, Vcl.VirtualImageList, Vcl.AppEvnts, RzTabs, RzForms, RzShellDialogs, RzPanel, RzButton, RzSplit, RzCommon, Common.Form, IpButton, IpMRU, IpMultiLanguageSupport, TcEditorTypes, TcGlbCfgSystem, TcGlbCfgVisualStyle, RNcCodeViewer, REditorStructure, REditorItems, RBasePalette, RStoragePalette, REditorPalette, RCustomPalette, REditorPanel, RBaseFrame, RObserver, RStandardStatus, REditorNesting, RBaseEditorFrame; The grouping algorithm is pretty flexible and I never had a case that could not be handled. If auto-sort a uses clause is automatically sorted whenever MMX modifies it - a very handy feature. -
What is the benefit of sorting the Uses clause?
Fred Ahrens replied to RCrandall's topic in MMX Code Explorer
Sorting units by name is dangerous. There are some units that need to be added at the end of the list, if they overwrite some behavior's of objects and functions of other units above in the list. There are other units that need to be placed on top of the list if they do some special initialization that needs to be done in the app as soon as possible, before any other parts of the app start to initialize. -
What is the benefit of sorting the Uses clause?
Uwe Raabe replied to RCrandall's topic in MMX Code Explorer
It started with the request to expand the unit scope names, which gave a good boost to compile time in some cases. The idea of uses clause grouping and sorting crept in my mind when I noticed difficulties to quickly scan the list of used units. With a sorted and grouped uses clause the used libraries are clearly visible immediately. So its partly for compilation speed as well as a neat look (some call it OCD). -
Algorithms. Irrational numer storage.Playing with 6 axis robot.
David Heffernan replied to skyzoframe[hun]'s topic in Algorithms, Data Structures and Class Design
OK. Well I'm glad this thread has been useful!!! -
Algorithms. Irrational numer storage.Playing with 6 axis robot.
skyzoframe[hun] replied to skyzoframe[hun]'s topic in Algorithms, Data Structures and Class Design
I think, the question already answered. Thanks, now i know what I have to do.. -
There are no major language and RTL differences between Delphi 10.4 and 11. At the same time, the new version is more stable, has better HighDPI support, improved LSP based ErrorInsight... There is no reason to stay on the old version of Delphi. Only if you have specific requirements that do not allow you to switch to a new one.
-
sorry, I forgot the JavaClass before the .init 😉
-
Strange Benchmark Results; Am I Missing Something?
Dalija Prasnikar replied to Joseph MItzen's topic in I made this
LOL I should have known better than doing math first thing on Sunday morning. -
Strange Benchmark Results; Am I Missing Something?
Vandrovnik replied to Joseph MItzen's topic in I made this
I think the result will not be the same - original code adds number 15 just once to the total, while your code will add it twice... -
A table name cannot be treated as a parameter. Instead you can use a macro like this: DELETE FROM &TableName and then set the actual table name with MacroByName.AsIdentifier := DestinationTableName;