Jump to content

Brian Evans

Members
  • Content Count

    360
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Brian Evans

  1. For me the buy links on embarcadero.com don't end up on the Code Partners website. It might be geolocation for those in Australia as I think Code Partners are the local distributor.
  2. Far as I know it is still with Code Partners where the product pages are excluded from being indexed by search engines so very few people will ever find it. It has amazed me for a while how a company can produce a product, sell it on the Internet but make it non-discoverable using search engines. Just checked and the product page ( SmartInspect – Code Partners (code-partners.com) ) still has: <meta name='robots' content='noindex, nofollow' />
  3. Brian Evans

    Win32, Win64, WinRT and now... WinARM ?????

    WinRT was "Windows" on ARM without the Win32 APIs but a new set of "Universal" (UWP) APIs. It Failed. The new attempt of Windows on ARM supports the same APIs as x86 and x64 builds for ARM binaries and emulation/execution of both 32 bit (with Windows 10) and 64 bit (with Windows 11) x86 binaries. It is not yet in general release. IF Microsoft sticks with this iteration of Windows for/on ARM it could be good for Delphi as VCL applications would be possible both as x86/x64 binaries and once Embarcadero supports it, ARM binaries. Unfortunately the track record is poor and some caution is likely warranted before expending significant effort as Microsoft could switch to another track.
  4. Brian Evans

    Windows ARM support ?

    You would need to be a sadomasochist to trust Microsoft until such a platform is well established. Windows RT was over a decade ago and those who got sucked into developing for it wasted time and money. Even worse would be anybody who developed for the various incompatible iterations of Windows Phone. Also no rush as the small number of such devices sold supporting the new "Windows on ARM" attempt are able to run Win32 applications (x86 with Windows 10 and x86/x64 with Windows 11).
  5. A HTTP GET doesn't use a body. If you want to pass a body use POST or if supported QUERY (preferred as it is supposed to be idempotent where POST may not be).
  6. The current layout of topic view leaves little space for names with a lot of them being shortened and a ... added. Happens a lot with those who use first and last names where both are not short. Makes it hard to follow some topics if contributors share first names or recognize some posters if a significant portion of the name gets cut off between Unread Content view and Topic View. A fair number who post here use proper names including both first and last names which might make the issue more visible compared to the shorter handle/user style names used elsewhere.
  7. Brian Evans

    MySql lib client not working with Ubuntu Linux

    Ubuntu 20.04 has libmysqlclient21 not the libmysqlclient20 on that linked webpage. Did you update the package install and link command to refer to 21 instead of 20 like shown below? sudo apt update sudo apt install libmysqlclient21 sudo ln -s /usr/lib/x86_64-linux-gnu/libmysqlclient.so.21 /usr/lib/x86_64-linux-gnu/libmysqlclient.so
  8. Brian Evans

    Work with PDF documents

    I sometimes use pdftotext + parsing with grep strings to extract specific data from PDFs with regular formatting. Has worked well in a variety of situations. pdftotext - Wikipedia
  9. Anything in the Windows event logs? For example an Event 4266, Tcpip A request to allocate an ephemeral port number from the global UDP port space has failed due to all such ports being in use.
  10. What memory manager are you using? Failing larger allocations when memory seems available is a sign it could be memory fragmentation. A memory manager that uses buckets (groups allocations by size) usually avoids the scattered small allocations blocking large allocations.
  11. I think coroutines are a dead end just like fibers in regards to performance. With pre-emptive multitasking the amount of work done before switching can be adjusted by the OS scheduler for the current hardware and execution environment. A system with a lot of CPUs with deep pipelines will perform better overall switching tasks less often than one with fewer CPUs and very shallow pipelines for example. With coroutines/fibers the work division is basically fixed in the source code and even if optimal for one hardware and execution environment will likely be suboptimal in others. It is similar to the fixed instruction parallelism attempted with EPIC but in source code form as a language feature. Looks good at first but runs into problems.
  12. Perhaps OnAfterPrintReport which while not in the docs is in the list of events in the IDE.
  13. Brian Evans

    FastReport

    Hard to follow, can you explain how 0505444457 is considered a duplicate of 0509503671? Showing the report design would help others see what you are doing and narrow down possible issues. Or attach the .fr3 file instead of dumping it's contents in the text of a post. The band types chosen, their positions and the lack of linking between master and child look all wrong in your report - suggest working through some example reports and the documentation to get a feel for how they are used.
  14. Did you try OnAfterPrint for the frxReport in question? Note that a report is not always output - the user could close the preview and/or printer dialogs without printing.
  15. Brian Evans

    Paradox in FireDAC Delphi 11 Ent 32bit VCL App

    Those are both runtime error messages. They are also both for the same exception : first from the debugger and then (if you select continue) from your application. If those are your only errors then the answer was already posted. Paradox files can't be opened by both the IDE live form designer AND an application being run in the debugger at the same time. You need to close the FireDAC connection on your datamodule in the IDE and then open in code when the application runs. Or use ConnectedStoredUsage with auRunTime set to false for the FireDac connection and setup a connection at runtime to another paradox file (preferred method - lets you use the live designer features).
  16. Brian Evans

    Paradox in FireDAC Delphi 11 Ent 32bit VCL App

    Since you never said what the compile time errors were not much anybody can do to help. Also since you mention runtime errors most would assume you already solved any fatal compile time errors.
  17. Brian Evans

    Detect stack full for recursive routine

    Raymond Chen blogged about this a few years ago: Determining approximately how much stack space is available, part 2 - The Old New Thing (microsoft.com)
  18. Brian Evans

    New mystery of freezing IDE.

    For very simple errors crash reports with stack traces can help. For corner cases not often seen in something as large and complex as the Delphi IDE a way to reproduce the problem on demand is usually needed to make any progress. Often the actual coding or logic error is far removed from where the crash occurs.
  19. Brian Evans

    New mystery of freezing IDE.

    For [RSP-42049] IDE Freezes - Embarcadero Technologies I see nothing but the description so not enough to do anything since they can't reproduce the error both to see what is happening and to verify any solution.
  20. Brian Evans

    error while creating form: range check error

    The IDE loads designtime packages along with runtime packages before it makes instances of components for the visual form designer. It doesn't do that when compiling. Making sure third party components are installed, reinstalled or updated after installing a new Delphi can help make sure everything is all hooked up and working so they load into the IDE and work without issues in projects that use them. Not sure what the underlying issue is just that I have seen similar errors and re-installing third party components solved it. Guessing it fails to load something but ends up showing an out of bounds error for some reason.
  21. Brian Evans

    error while creating form: range check error

    Sometimes see this error if third party components are not installed and up to date. For example updating to a new Delphi release but not updating third party components like FastReports but just using what was already installed.
  22. Brian Evans

    New mystery of freezing IDE.

    A common issue is network paths that are no longer valid. The IDE often tries to access such paths multiple times and doesn't handle waiting on the network timeout very well (it tends to freeze while waiting). If the server name in the path resolves but there is never any response the network timeout can be 10-30 seconds or more each time it tries to access the path. The freeze happening after you do some typing suggest code completion / IDE insight is scanning source paths and one or more of them are not accessible. Systinternals has some utilities like Process Monitor that might help in showing what the IDE is trying to access when the freeze happens.
  23. Brian Evans

    Determine the language

    Scoring using the most common words for each language works surprisingly well. Even scoring each line using the 50-100 most common words works most of the time except for very short lines or odd fragments of longer sentences. If the scores are close for different languages a more complex approach can be used for that line. Would work better if you can group lines together in paragraphs or sentences so very short lines would be less of an issue. Even just the 10 most common words works for longer text and a lot of short text English : the be to of and a in that have I French: être avoir je de ne pas le la tu vous German: wie ich seine dass er war für auf sind mit
  24. Could try overloads of a procedure. From the calling site it does what you want but requires a separate definition for each combination of argument types / number of arguments. Procedures and Functions - Overloading (Delphi) - RAD Studio (embarcadero.com) Added: Looks like not much use here due to not being able to easily get a reference to the property as a property vs as a value.
  25. Brian Evans

    Map file = Detailed also produces DRC file

    The help also says it is generated if either option is set (detailed map files OR .drc generation); Package Files Created by Compiling - RAD Studio (embarcadero.com)
×