Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 06/08/25 in all areas

  1. Wondering why I created Copyright Pascal Projects and use it on all my repositories to add copyright comments and links to the top of files? Here is one of the many repositories that sums up the answer: https://github.com/prasanna-debug/Bubbleoid-GGJ2025 Automated robots, humans, AI, and spammers are pumping code repositories, replacing copyright notices and README.md files (but not in other languages like LISEZMOI.md for French), remove sponsorship information, and claim third-party project content in order to generate traffic to GitHub (and probably elsewhere) while retaining the reference to the original contributor to give their submission an air of “seriousness.” Their goal? To get developers or users to download their versions of source code or executables... If you use public code repositories, go to the source, don't rely on copies (whether dubious or unmaintained). Make your own fork or clone of the original repository if you have changes to make. Keep the link between repositories to benefit from source updates and share your own. Remain very cautious, on GitHub as elsewhere!
  2. tinyBigGAMES

    Beware of imitations and possible scams

    This very same thing happened to me recently. Sigh. Someone copied (not forked) my OllamaBox repo, changed the README, and added a release—even though my repo doesn’t have a release yet. Their release was an obfuscated Lua script that no doubt does bad things when executed. My name was listed as a contributor on the repo. I reported the user to GitHub, and all their accounts were taken down. Yes, be very careful and always get your code from the official repo.
  3. David Heffernan

    How do I assert a single ?

    The principle of a function that compares real values for equality, up to a specified tolerance, is a valid thing to do in many cases. But there are lots of caveats. In practise, most developers (and far from just in the Delphi space) that I see recommending it are completely unaware of these caveats. Some of these caveats and issues: How do you choose a tolerance? Does your tolerance account for the scale of the values, and indeed should it? Some use cases demand absolute tolerances, some demand relative tolerances. If you are accounting for scale, how do you choose the scale? Is it based on the pair of values being compared, or should it be based from the total pool of values. For instance, you might have two series that you wish to compare. Shouldn't the scale be based on the series rather than individual samples? Or maybe it is individual samples. It's easy to mistake this as an equality, but the resulting relationship implied by equality to tolerance is not transitive, so is not a mathematical equality. That is a R b and b R c does not imply a R c. Looking more specifically at Delphi's SameValue, the tolerance used when the Epsilon parameter is zero (or omitted) is very odd. I definitely think puppies are dying left, right and centre when that code path is chosen. One of the common misconceptions with floating point is that it is not exact. I think of it as exact, subject to the rules of the domain, but the key point is that not all values are representable. So if you have floating point values a and b, then they represent some precise real value. But when you do a * b, say, then the true value may not be representable. And so the result is the closest representable value. This is well defined, and reproducible. A lot of people think that there's just some random errors and fuzz in it all. That FuzzFactor constant in the RTL source seems to be a classic example of that sort of thinking. This famous question on SO is a useful resource: https://stackoverflow.com/questions/588004/is-floating-point-math-broken One of my pet bug bears in Delphi is its inability to convert correctly between floating point and textual representations. In every other mainstream language (and most non-mainstream languages) this is possible. But in Delphi the code used to perform these conversions is home grown and broken. There are good algorithms for doing this, and it's a subject of active research, but Embarcadero don't seem to care about this. In my codebase I use correct algorithms. Which means that for all values I can convert from float to text and back and always get the same value. The inability to do this often leads to users calling SameValue. My own codebase does call comparison function that compare for equality to tolerance. But there is a lot of care taken in how the tolerance is chosen and applied. I guess that's the crux of what I am saying. So many people just say, this is hard, slap a tolerance onto the comparison that is good enough for the two values I have to hand, and surely that's fine for all other values! I'm a bit of a pedant in this area, I admit. But it's kind of my job to be. Sorry!
  4. Uwe Raabe

    High-dpi scaling problems with TFrame

    There are several bugs fixed in 12.2 and 12.3 affecting frames. https://quality.embarcadero.com/browse/RSP-37402 https://quality.embarcadero.com/browse/RSP-39847 https://quality.embarcadero.com/browse/RSP-40110 https://quality.embarcadero.com/browse/RSP-43560 https://embt.atlassian.net/servicedesk/customer/portal/1/RSS-1020 Perhaps these will fix your problem, too. I will test your project later when I've found some time to configure my system for monitors with different dpi.
  5. When you buy the latest version of Delphi, you also get access to earlier versions of Delphi at no extra charge.: https://www.embarcadero.com/products/delphi/previous-versions Delphi 2010 is covered by this. A lot of third party component vendors do something similar for the same reason with older versions available in the registered users download areas. You may need to make a request or they might be there already.
  6. tinyBigGAMES

    Beware of imitations and possible scams

    Great question! On GitHub, it’s true that forks and even unrelated repos can use the same name, which can make it confusing. The official repo is always the one under the account or organization of the original project creator. Here’s some ways to help find it: Check links on the official website or documentation—they’ll point to the real repo. Look for lots of activity, stars, and contributions from known authors. On a fork, you’ll see a “forked from \[original]” notice at the top—click it to go to the original. Avoid repos with suspiciously new accounts or odd releases. When in doubt, always ask here in the group and we can confirm if you’ve got the right one.
  7. Uwe Raabe

    restore ansi from utf8

    Isn't the root problem where you read these strings in the wrong way and shouldn't it be handled right there?
  8. Uwe Raabe

    Has the toolbar problem been fixed?

    A stable Delphi is also important to me. That's why I do my best to help Embarcadero achieve this.
  9. Its a pity you won't be able to lets us know how many of all those requirements your final candidate actually has, when you find him of course. It would be quite interesting to see.
  10. If you are using ICS created Let's Encrypt certificates in Windows IIS web server, you may find web sites no longer work correctly, giving a certificate error. This is because Let's Encrypt had discontinued it's OCSP service as a means of determining if certificates have been revoked. In each IIS site bindings, for each listener, you need to tick 'Disable OCSP Stapling', and the certificates should work again. Happened here after a reboot for patch Tuesday. I did not see any OCSP errors or warning in the IIS or Windows event logs, but knew about OCSP being abandoned. I've already added conditionals to the next ICS release to remove our OCSP code. Angus
  11. Fudley

    Updating files in assets\internal\ (12, FMX, Android)

    Todd thanks so much that works like a charm! And just a general big thanks to everyone here who is so very helpful to an old dbase-foxpro-clipper-delphi-windows programmer!
  12. ToddFrankson

    Updating files in assets\internal\ (12, FMX, Android)

    Click "Run" from the menu bar. Click "Parameters" In the Parameters field type in "-cleaninstall" Repeat for each platform
  13. JetPascal is a new code assistant for Delphi developers. Our goal is to be a fast, reliable, and intelligent code assistant for Delphi developers, supporting both RAD Studio and Visual Studio Code. The product is still in early stages. The current Insiders version includes these navigation and search features (inspired by Visual Studio Code) for Delphi XE7-12.3. Go to File Go to Project Go to Line Go to Symbol in Editor Delphi Source File VCL/FMX Form Go to Symbol in Workspace Go to Definition Go to Type Definition Go to Base Symbols Go to Derived Symbols Go to Implementation Go to Containing Declaration Peek Definition A few demos: - Go to Symbol in Source Editor - Go to Symbol in Form Editor (Go to component, property, and event in form designer.) - Go to Implementation To see the more demos, the status, and the roadmap of the product, please visit JetPascal page. You can also try it by download the Insiders version. Early Bird Program We are offering special Early Bird Price—significantly below the upcoming standard rate—while we finalize key features. This offer applies to both Commercial and Personal subscriptions and is open to new users now. Note: Legacy CodeInsightPlus customers can request our standard renewal price throughout 2025.
  14. baoquan.zuo

    ANN: JetPascal Sneak Preview and Early Bird Program

    We're going to announce JetPascal extension for VSCode. Further updates to the Delphi extension is scheduled. Please stay tuned.
  15. Everything you need to know is here.
  16. David Heffernan

    How do I assert a single ?

    Every time someone calls SameValue a puppy dies
  17. Patrick PREMARTIN

    Some games and project samples with FireMonkey in Delphi

    Last week-end I finished the rebuild in Delphi FMX of the video game Bidioo I've created in AGK Basic in 2013. It's a match-3 game. I used the sample match-3 TFrame added to Delphi FMX Game Snippets two weeks ago. The graphics are in SVG. I use Skia like in my other recent games. On iOS and macOS with Metal it's very speed. The best experience is of course on an iPad. On Windows without the Skia raster it works as expected (in a VM, I didn't check on a real PC). On Android it's too slow to have the full animations, but it works. I've to find the reason and check with Skia4Delphi and EMB teams if a solution can be found. The 2.0 version has been published on stores. you'll find the download links on this page. I can send you free coupons if you want to test the game on an Apple device. Just send me a private message. For Windows, use Itch to get the installer (and the game) for free. The source code of the project are on GitHub except some files where are stores the SVG (the images are under closed licenses). It won't compile as it instead of the match-3 sample project. Some demos are available from YouTube and PeerTube. If you want to talk about game programming in Delphi or this particular game, you know how to message me. We can do anythings in Delphi. Just try. 😉
  18. david berneda

    TeeBI free full sources released

    Python and R plugin units are now published: https://github.com/Steema/TeeBI/tree/master/deprecated/sources/algorithms License is MIT: https://github.com/Steema/TeeBI/blob/master/LICENSE
  19. I solved this issue as follows: first, I ran the command rm ~/Library/MobileDevice/Provisioning\ Profiles/*.mobileprovision in the Mac terminal, in Xcode, I went to Settings > Accounts > Download Manual Profiles. Finally, I restarted the PA Server, and everything worked correctly
  20. Hi All I created a Delphi implementation of UUIDv7 - RFC 9562 UUIDv7 values are time-sortable, which means you can sort them in increasing order based on when they were generated. https://github.com/VSoftTechnologies/VSoft.UUIDv7 Should work with XE2=12.x Win32/Win64 and all platforms on 11.3 or later. Usage : var guid : TGuid; begin guid := TUUIDv7Helper.CreateV7; writeln(guid.ToString); end;
  21. Lars Fosdal

    What new features would you like to see in Delphi 13?

    1. Debuggers, debuggers, debuggers - multithread handling is abysmal today 2. Make HighDPI actually works as intended - it is useless in a team as is - unless everyone runs the same scaling 3. Generics constraints for enumerated types to enable the use of conversion to/from ordinal values, use set operators, etc. 4. Native ARM64 compiler for Delphi for Windows (and Linux/Raspberry PI, but Windows has prio) 5. A 64-bit IDE that ensured that EMBT was dogfooding 64-bit VCL and RTL and raise the quality As for AI, I wouldn't mind an AI that could look at code and suggest improvements - perhaps as a part of the static code analysis, or one that could explain "what does this code do". I don't really need or want an AI to generate code. If it is a standard, a lib should already exist. If it doesn't and there is no standard that covers the need, I'd be happy to have an AI outline alternative approaches - but given that the wide scope of parameters that goes into a design, I think it is unrealistic to expect that it would come up with the ideal suggestion without us writing a huge requirement. The output of VLLM generators is extremely dependant on precise and accurate specification statements, and writing those are almost as hard as writing good code. As for AI and privacy - keep your secret credentials separated from your code. Other than that, I don't think that many of us write code that truly needs to be hidden for secrecy reasons, although it is obvious that it will be necessary to ensure that privacy permeates the use of AI.
  22. Shrinavat

    Is this C++ builders new FORUM ???

    Alas, "Omnia orta cadunt"
  23. Anders Melander

    COM: OleCheck() in polling

    https://docs.microsoft.com/en-us/windows/win32/api/objbase/nf-objbase-coinitialize And the documentation for CoInitializeEx states:
  24. AlexBelo

    Is this C++ builders new FORUM ???

    To shave off costs they had to pass housekeeping of official forum to volunteers. Also a product without good community will not be very popular and merchantable therefore.
×