Jump to content

Lars Fosdal

  • Content Count

  • Joined

  • Last visited

  • Days Won


Lars Fosdal last won the day on August 19

Lars Fosdal had the most liked content!

Community Reputation

159 Excellent


Technical Information

  • Delphi-Version
    Delphi 10.3 Rio

Recent Profile Visitors

425 profile views
  1. [dcc32 Warning] W1029 Duplicate constructor 'MyClassName.ConstructorName' with identical parameters will be inacessible from C++ {$WARN DUPLICATE_CTOR_DTOR OFF} does not seem to have any effect in Delphi 10.3.1 I know I can add an extra dummy parameter to change the signature - but shouldn't that $WARN thing have worked too?
  2. Sorry, no code to share as it is embedded in a larger framework. I do use the queues in Omni Thread Library from @Primož Gabrijelčič down in the core, though. As for Synchronize: Just say no.
  3. Lars Fosdal

    Resolve a uses clause unit path?

    I sometimes miss the output from the old compilers which showed the path and name of the units being compiled in the sequence they were built, in a complete log.
  4. Lars Fosdal

    [out] and [in] in records

    VCL.Forms, VCL.Printers and VCL.StdCtrls has a few of these, but for only for function parameters in CLR code. {$IF DEFINED(CLR)} type TMonitorEnumerator = class FList: TList; FEnumProc: TMonitorEnumProc; // reference to the delegate so the garbage collector doesnt free it constructor Create(List: TLIst); function EnumMonitorsProc(hm: HMONITOR; dc: HDC; [in] var r: TRect; Data: LPARAM): Boolean; end; {$ENDIF} and on the topic of CLR: https://stackoverflow.com/questions/2210122/why-are-there-so-many-if-definedclr-in-the-vcl-rtl Yeah... that stuff really should be made to go away.
  5. Lars Fosdal

    formatting HTML code

    What about the https://www.delphihtmlcomponents.com/ from @Alexander Sviridenkov ? I don't use them, but I've seen them getting a lot of praise.
  6. Lars Fosdal

    his control requires version 4.70 or great of COMCTL32.DLL

    It has to be one of the units you use that pulls in non-VCL stuff, then?
  7. Lars Fosdal

    his control requires version 4.70 or great of COMCTL32.DLL

    What version is your comctl32.dll? Can an ancient version have snuck into your path somewhere?
  8. Lars Fosdal

    August 2019 Roadmap released

    10.4 has "language improvements". Some of the stuff I'd want to see here - although I expect only the two top ones to actually be candidates... - parameterless record constructors - nullable types - proper record constants that are treated as constants - generic support for nullable types - generic constraint for enumerated types so that you can for a Value:T use Ord(Value), Set of T, Value in Set, etc. - generic constraint for number, so that you can use mathematical operators on a value of T - generic record helpers - TArray<T> / record helper for TArray<T> - helper aggregation/overload/scoping so that one helper does not have to replace another - lambda expressions - ternary operator to shorten those lambdas
  9. Lars Fosdal

    August 2019 Roadmap released

  10. Lars Fosdal

    New RoadMap Delphi 2019/2020

    Duplicate of
  11. Lars Fosdal

    TWebBrowser + dynamic JS question

    Are you certain that JS is enabled and triggered on page load? Have you tried the embedded Chrome browser to see if that makes any difference? https://github.com/salvadordf/CEF4Delphi I think your last sentence already is in effect for a large number of sites as it makes harder to crawl content tags and references if they are generated dynamically by JS.
  12. Lars Fosdal

    Relaxed JSON

    I prefer regular Json as defined by Ecmascript ES5 / https://json.org When exchanging data, I prefer rigid formats over flexible formats.
  13. I prefer using thread safe queues aka the mailslot principle. Normally I let my worker threads have an workqueue and a reference to the mainthread responsequeue. I post a task to the workqueue, getting a task ticket, and the background thread posts a response/result package to the responsequeue, marked with that task ticket. I can either poll the response queue with the ticket, or I can have the thread fire off a windows message to the main thread that basically says "check the queue for this task ticket" Benefits: 100% async and isolated. No concurrent access to data. All updates can happen at the leisure of the main thread.
  14. Lars Fosdal

    parsing Google search results

    Although DuckDuckGo does not offer a full cover API, it seems that their DOM is easier to parse which could give you easier access to the data you need - unless you are specifically looking for Google data? https://stackoverflow.com/questions/37012469/duckduckgo-api-getting-search-results It depends a lot on what data you are trying to gather.
  15. Lars Fosdal

    Datasnap server updating error image blob column

    Is there a particular reason that the params are numbered 0, 1, 10 ? On the server side - have you inspected the stream after you fill it from the request? Does the length of the stream match the size of the image?