Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 12/11/24 in all areas

  1. Die Holländer

    Resizing Object Inspector Pane in 12.2p2

    Resize inspector.mp4
  2. corneliusdavid

    Component property disappears from DFM

    Oh, yeah, you mentioned this in the first post and I just skipped right over that--you're right, it'll be something specific about these two datasource components. So, then what is different about these datasources from all the rest? Are they hooked to a different type of dataset or have any other properties set uniquely? Does changing the creation order in the DFM have any effect?
  3. They say that documentation is the worst part of programming and I mostly agree with that. Nevertheless I have taken the time to add a page about the Uses Clause Manager expert to the GExperts help because that topic was completely missing. I hope I covered all the topics. There is no help button on the form yet. I’ll look into that later. There is also an updated chm file as well as a printable manual in PDF format.
  4. dummzeuch

    Uses Clause Manager topic added to the GExperts help

    Added the help button.
  5. Anders Melander

    Switch from JCL to EurekaLog

    It sounds to me like you have a quality problem if you have that many exceptions. In the applications that I work on (users in the hundreds), every single exception that are caught by the outer exception handler (madExcept in our case) is treated as a must-fix bug. On the average I would say we get one or two a month if we've been sloppy with the QA. The madExcept bug reports are usually either mailed to us by the madExcept UI, or retrieved from the customer's system by our supporters, and attached to a JIRA issue. It is extremely rare that we need to compare call stacks to detect a duplicate. AFAIK madExcept can do so automatically via a hash or something but we've never used that feature. So the only advice I can offer is: fix your bugs before release 😉
  6. corneliusdavid

    The Red Arrow

    It's Flow Control Highlighting. It indicates that execution flow leaves the block or function at that point. In this case, it's not terribly useful as the "return" statement is at the end of the function but if you had a switch statement with several cases and some of them returned from the function, those flow-control markers would give a visual cue about where the code goes. You control this in Tools > Options > Editor > Color > Structural Highlighting.
  7. Cristian Peța

    for loop variable value after the loop

    https://docwiki.embarcadero.com/RADStudio/Athens/en/W1037_FOR-Loop_variable_'%s'_may_be_undefined_after_loop_(Delphi)
  8. The final solution is different than proposed. I did not know but the SUM() function can return NULL values. So on larger datasets I did get 'WideString'!!! conversion error messages on SQLite. So I had to use IFNULL. May be not for all the most elegant solution. But this TFDQUERY works now for both MySQL and SQLite select IFNULL(SUM(AmountValue),0) AS SumVal from camtentries And in the code: var mycurr: currency := qryMyQuery.FieldByName('SumValue').Value; Normally I don't work with .FieldByName and .Value. I prefer this: var mycurr: currency := qryMyQuerySumValue.AsCurrency; But know the app is not complaining. I have hundreds of queries, but only 2 SUM()'s. So I can live with that. I don't use them in a loop, so performance is not an issue. And I develop the app with MySQL. Because I can easy test my data together with HeidiSQL. The field names become also strange select IFNULL(SUM(AmountValue),0) AS "SumVal::DOUBLE:" will be qryMyQuerySumValueDOUBLE.AsCurrency; Although the first answers where not the implemented one. I want to thank all the people in general on this forum. As solo entrepreneur I don't have a collegae to ask. So thank you all!
  9. You're better off doing something like function myfunc(const InVal: String; out OutVal: Double): Boolean; Return True if the value was set and false if not. There are other ways to handle this but the worst way is a magic value in Double. There's no reason to do that when it is so easy to indicate explicitly whether or not the value is valid.
  10. It's free for non-commercial use. And yes, it does handle exceptions in the initialization section.
  11. FPiette

    Delphi profiler

    To keep you up-to-date, I have modified my code to use OmniXML that is delivered with Delphi 11 (unit Xml.Internal.OmniXML) and to use a record instead of a class for the most used data structure. The net result is a speed increase by a factor of 10 (Ten!) on a large GPX file. If time permit, I will give a try to neslib.xml.
×