Jump to content

aehimself

Members
  • Content Count

    1073
  • Joined

  • Last visited

  • Days Won

    23

Everything posted by aehimself

  1. aehimself

    Better way to maintain a list in a database table??

    Depends on your application. I'd break the list up to elements (and store them in their separate table) because of two reasons: - You can use simple VarChar fields instead of MEMO / CLOB, which is more easy on resources - You can filter the list with your select if needed Edit: by having their own table you can even extend each list element with further properties later on
  2. aehimself

    GamePascal Toolkit

    You might want to include the differences, pros and cons in the GitHub readme not to leave the impression of a library that gets outdated as soon as you get used to it. Let's leave that feature to some JavaScript frameworks 🙂
  3. aehimself

    GamePascal Toolkit

    It would be nice to see an actual demo of what the engine can do. Things are a little bit confusing, what happened to GameVision toolkit, and what it Delphi GameKit?
  4. aehimself

    Delphi 11.2 unofficial LSP patch

    My process: - Install 11.2 and use it - Rename 4 affected files to *.*.original - Unzip both unofficial fixes to \bin folder - Try to use it, breakpoints broken, so - Rename patched files to *.*.patched, rename *.*.original to *.* and use it - Since 32 bit is working and DelphiLSP.exe is a part of the 32 bit version, I decided to use 32 bit version only. Rename those files to .original, rename .patched to normal - Breakpoints working, so I start to wonder and do the same with 64bit - Confused as hell, as it's working...?!
  5. aehimself

    Delphi 11.2 unofficial LSP patch

    I honestly can not understand this patch. After reverting back to the original files and reapplying it, breakpoints work fine on 64 bit as well, even in a new method of an unsaved unit...
  6. aehimself

    D11.2 + FireDAC + MySQL 64 bit not working

    You really never heard of amd-x64.google.com or itanium64.en.delphipraxis.net? 😄
  7. aehimself

    ANN: Better Translation Manager released

    I have only one valid explanation, which is I usually forget to sync and build a new language file and therefore the .xlat goes in in a separate commit. However, for the actual translation you need the GUI anyway and if you update the .xlat beforehand, you'll have no idea if there was a change or not (especially if we'll have the option to see changed entries only). So after all it would solve my issue of the file going in in a separate commit, but it's still not translated and built, so it would add no actual value.
  8. aehimself

    ANN: Better Translation Manager released

    @Anders Melander Was does this mean? 🙂 Edit: A nice addition would be to have an option to show only changed entries (whether added, obsoleted or marked as unused). That would probably tell me if I should be worried. Edit-edit: Git showed it. An item has been un-unused:
  9. aehimself

    Does ChatAI make StackOverflow obsolete ?

    Ask if it has any affiliation to / what it knows about SkyNet as it already seems to be self-aware 😮
  10. aehimself

    Does ChatAI make StackOverflow obsolete ?

    I don't know which one is funnier. The actual punchline or the ChatGPT answer. Well played AI, well played.
  11. aehimself

    Delphi 11.2 unofficial LSP patch

    I can confirm. Rolling back the patch and my breakpoints are good as new on Win64 platform.
  12. aehimself

    Delphi 11.2 unofficial LSP patch

    All my breakpoints just become unavailable (like code never gets executed in that function), did you meet the same issue?
  13. aehimself

    I get value=none

    This is the second post where you are simply being rude and offending everyone around you. I learned it a long time ago but it's not clearly documented, but a solution can be found by hovering over a user's name:
  14. aehimself

    DNS Query & Lookup Synced

    TIcsWndControl exposes ProcessMessage, ProcessMessages, MessagePump and MessageLoop for all scenarios. You guys were prepared, there's no need to create, only to use!
  15. aehimself

    Delete substring from a string

    If you are sure they are always separated by commas, you can do Function GetRidOf(Const inString, inDeleteThis: String): String; Var mystr, s: String; Begin Result := ''; For s In inString.Split([',']) Do If s <> inDeleteThis Then Result := Result + s + ','; If Not Result.IsEmpty Then Result := Result.Substring(0, Result.Length - 1); End; This should properly keep '100' in '1100' for example.
  16. aehimself

    Mysql connection problem

    Using % as a host will allow all source IP addresses afaik. Check if you can set it, but it's a security risk, so be warned...
  17. aehimself

    DNS Query & Lookup Synced

    And then? 🙂 TerminateThread? 🙂
  18. aehimself

    Pos

    Be careful with Contains, as it will trigger on substrings too. Maybe it's not the case with DocNos, but still. What I'd do is... DocNos := #9; CDS1.First; While Not CDS1.Eof Do Begin If Not DocNos.Contains(#9 + CDS1DOCNO.asString + #9) Then DocNos := DocNos + CDS1DOCNO.asString + #9; CDS1.Next; End; DocNos := DocNos.Substring(1, DocNos.Length - 2); This also can fail if the strings contain tabulator characters, but that's a small chance I'd be willing to take. The best solution would be to use a TList<String> and concatenate everything once it's filled.
  19. aehimself

    Delphi 11.2 unofficial LSP patch

    Did anyone try this for longer already? I'm a bit worried because of the "do not use in production" thing and I can not decide if it's only the mandatory warning or it indeed can mess something up badly.
  20. Isn't that something what a ChatGPT malware would say...? 🙂
  21. A profile in GitHub created 11, forum account 10 hours ago (1 post, no rating). Only a RAR file is uploaded, based on the screenshots containing binaries. Contact info is a free Yahoo E-mail address, installations are blocked by AV and there's no real description of what FPDelphi is. Online searches show fuel pump related stuff. I really mean no offence and it can be me living under the rocks, but for someone who has no prior knowledge this is way too suspicious to check out.
  22. aehimself

    AE BDSLauncher

    For the time being this is a teaser only, sources will be published on GitHub as soon as I finish up the rough edges. Due to the recent success of detecting and interacting with Delphi IDE versions / instances I decided to put together a new BDSLauncher, which allows you to set up rules to automatically decide which version and which instance of Delphi you want to open a Delphi source file with. If started without any parameters, the rule editor main window will show up: Here a list of file masks can be provided. If the file which is about to be open matches any of these, it will be opened in the version selected under. There are situations when a project has to be open for a .pas (.dfm more likely) to appear correctly. To support this, you can set a string which has to be contained in the IDE caption for it to be selected. If this is empty or there was no instances found with this criteria, a new instance will be launched with the parameters you specify (should be the main project .dproj / .dpk). If a parameter is specified (and the file indeed exists) two things can happen. Either a rule will decide which version / instance the selected file should be started in, or if there's none a selector will appear: If more rules would apply to the source file but the specified instance is not found, the last will be selected alphabetically. In case any rule was selected, no window is shown, only the IDE is launched and / or the source file is opened and the launcher will close shortly after. In theory, the new launcher should support all Delphi versions from 6 and up, however the DDE component used (to do the heavy lifting) was only tested with 7 and 10, 10.1, 10.2, 10.4 and 11. Settings are stored in AppData, so each user with access to the same PC can have different rules set up. What is left: Deeper testing after first impressions (especially with more Delphi versions. There are a few which I was forced to miss) Button / installer to change file associations to itself instead of the original BDSLauncher. This could also be used to reset these associations if a Delphi (un)installer messed these up More options (e.g. cmd/powershell/PascalScript scripting) to decide between versions / instances Allow manual rule ordering instead of the current alphabetical Add icons and / or redesign UI to be a bit more user friendly... It's kind of late now here - hence the teaser only - but I wanted to let you guys know that this is coming. Expect a new post with an alpha version in the upcoming days.
  23. aehimself

    AE BDSLauncher

    You are right, it definitely looks cleaner: As a bonus, with the Cancel button present I can remove the code to handle the Esc keypress 🙂
  24. aehimself

    AE BDSLauncher

    Invalid registry key handling (and due to this, an additional version number detection) has been incorporated in TAEDelphiVersions, thank you for pointing this out! As for the masking, which Delphi version are you using? If MatchesMask('C:\My projects\Project name\Project1.dproj', '*\My projects\Project name\*.dproj') Then ShowMessage('Success!') Else ShowMessage('Fail...'); If MatchesMask('C:\My projects\Project name\Project1.dproj', '*\My projects\*.dproj') Then ShowMessage('Success!') Else ShowMessage('Fail...'); If MatchesMask('C:\Temp\My projects\Project name\Project1.dproj', '*\My projects\*.dproj') Then ShowMessage('Success!') Else ShowMessage('Fail...'); On 11.2 all shows "Success" for me.
  25. aehimself

    AE BDSLauncher

    I seriously suck at UI design so tips like this are more than welcome 🙂 Changed the version selector to show up as a list instead and it indeed feels nicer to handle:
×