Jump to content

Sherlock

Moderators
  • Content Count

    1209
  • Joined

  • Last visited

  • Days Won

    25

Everything posted by Sherlock

  1. It was called Eliza back then. ChatGPT is just Eliza on Steroids.
  2. Sherlock

    Cyber security Question

    Almost every "call" is potentially dangerous. Asking for a language or a dialect of an existing language without potentially dangerous calls will leave you with nothing, hence the lack of answers from the people you contacted. It is up to you to find out what weaknesses a language has and how to either overcome them or, if to cumbersome, avoid the language altogether. Then you also have to take into account the security issues the system running your software may have. Windows has quite the "rap sheet", when it comes to vulnerabilities. But still it is a solid OS to run your software on, if you are aware of these issues. You may choose to run in a browser...that in itself may expose you to new risks you'll have to learn about, risks that may even be specific to the OS running the browser, so you'll end up checking out combinations of browsers and OSes even over different versions, a ton of permutations to evaluate. And so far you haven't even looked at hardware. What about the USB ports on a standard PC? How can you verify that they are not misused? As you see cyber security is very expensive, thinking about what might go wrong is just the first step of many. Real security however is just an illusion, just like the idea of error free software. What you need to have is risk assessment together with a catalog of countermeasures and assess how useful or indispensable your software really may be. If the benefit-risk-ratio is acceptable, go ahead build your software, if not... I seem to have drifted of, sorry.
  3. ChatGPT is way to verbose with its answers and takes forever to finally get to the point. I don't consider it fascinating, and I don't consider it to be an AI. It has had it's moments and those have been enough for one investor or another to inject money into the project or to actually assume they might be able to put it to use (Bing - imagine the loooong answers for a simple search). In short ChatGPT is Eliza without the need to program responses but have responses stored in a DB filled by training.
  4. You want to compare two binary files, if I understand correctly. Here is a program that does that: https://www.cjmweb.net/vbindiff/
  5. Sherlock

    No support for RTL languages in TListView ?

    No, it means you can install Skia4Delphi and use it in your project, and after following the steps pointed out to you, you can use "right to left" as originally expected.
  6. Also keep in mind, if this software is supposed to be commercial you will have to look into encrypting the communication. TLS will have to be minimum.
  7. Sherlock

    Regex help please..

    I would have put that check into an SMTP server. And...surprisingly the good ones do that.
  8. Sherlock

    Regex help please..

    Given the complexity and the tendency of developers to always suggest some totally different approach , here is my completely different suggestion. You seem to have the need to validate an e-mail address before storing it. How about sending a test mail before doing that. That way you get to birds with one stone: Verify the address, and get the permission to use it... a must have in Europe.
  9. Oh, right! I just had the Master in mind. And that I am not...
  10. I don't think I could pass the exam But some of our MVPs such as @Uwe Raabe have, perhaps he might share some insights.
  11. Well take a step back then. Do you know what you are doing? You are mixing two things here, maybe at first try this with just the important one and save the syntactic sugar of inline variables (which may still be buggy) for later: procedure TGISEngine.AddFilenames(const AFilenames: TGISFilesnamesSHP); var F: string; // I'm just guessing here, and maybe that is the compilers issue as well begin if (Length(AFilenames) > 0 ) then for F in AFilenames do if not FFilenames.Contains(F) then FFilenames.Add(F); end; Later on, you may read what the Docwiki has to say about the limited abilities the compiler has regarding type inference and discover their examples for inlines in for...in loops all have a type declaration.
  12. Sherlock

    No one can help

    Just my two cents as a person who has been developing commercial software with Delphi for over 20 years now (where has all the time gone? sigh). Whenever there have been issues with the software, one thing turned out to be true: The DB was almost always the problem. That, or the way DB data was being handled. Rethinking table design and handling of DB-aware and not-DB-aware components have always done the trick. But feel free to produce a minimal reproducible example for the folks at Embarcadero, if you are 100% sure that Delphi is at fault.
  13. That is a good thing. Anything built into Delphi slowly decays due to lack of maintenance. Until one day it produces only errors and management has to decide wether to trash it or build something around it to try and fix it. Most prominent recent example: ErrorInsight fixed through LSP. Or the Parnassus tools...taking longer and longer to appear in GetIt with each new Delphi version.
  14. Sherlock

    floating point error, [solved].

    For an deeper understanding read here: https://www.exploringbinary.com/why-0-point-1-does-not-exist-in-floating-point/ And this is your solution: https://docwiki.embarcadero.com/Libraries/Sydney/en/System.Math.IsZero if you want to check for zero values.
  15. Sherlock

    Function with 2 return values ?

    My hammer beats every other tool every time.
  16. Sherlock

    SQL problem

    Everybody cool down please, and don't get personal. Thank you.
  17. Well, which Windows version is this? Windows 7 is not supported anymore, AFAIK.
  18. Sherlock

    Web-fonts v Desktop-fonts

    Check out AddFontResourceEx and RemoveFontResourceEx from the Windows API. Note that while the font is installed, it may be used by any other program in your system unless you load it FR_PRIVATE.
  19. And then there's always: https://docwiki.embarcadero.com/Libraries/Alexandria/en/FMX
  20. Sherlock

    Any advice when to use FileExists?

    So, I have no Idea, what the issue really is, it is not FileExists. At least the way I try to reproduce missing privileges no exception is raised... so I retract that statement as bogus. Sorry for the fuss.
  21. Sherlock

    Any advice when to use FileExists?

    Just happened to me in at least 10.4.2 may even be so in 11.2. But maybe it is something else, will try to put together a small demo, time permitting.
  22. Sherlock

    CodeInsight: Loading project [...] hanging

    Design time DB connections have been a pain for me in the past in several ways. Normally now I have no connection, and enable only when needed (which is rarely the case anyhow). Result is way less problems.
  23. Sherlock

    Any advice when to use FileExists?

    Just for completeness sake it should be noted, that FileExists will raise an exception, if the current user has insufficient rights to read the file. Turns out, that is completely false. Sorry about that.
  24. I see that F is indeed checked further up. I only considered the last quoted portion of code. As for the "tutorial" it is quite tedious to follow. I personally hate video tutorials, because they are always to slow when it does not matter and to fast when it does. A readable tutorial is worth so much more than that. Anyway... I recreated the project as stated in the video,I even copied your code, and it works without errors. You must have done something different along the line...especially since your screenshot somewhat differs from the video.
  25. Well, don't typecast without checking if the type fits. You need to check if F really is a TLayout and if child 0 really is a TLine. Something like: if F is TLayout then if TLayout(F).Children[0] is TLine then L:=TLine(TLayout(F).Children[0]); On the other hand you should only type cast when necessary. TFMXObject has a perfectly fine Children property no need to cast F into a TLayout. Check your entire code for these things and you should have eliminated one cause for the AV.
×