Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 11/25/24 in Posts

  1. Stefan Glienke

    chatgpt can convert 32bit asm into 64bit

    Converting source code that won any challenge over 15 years ago is questionable regardless of correctness. Anyway, for this particular example, implementing a faster System.Move for Windows (other platforms use their libc memory) has been solved since Delphi 11.3. I sincerely challenge everyone to come up with a faster/better implementation.
  2. Stefan Glienke

    Strict type checking for tObject.

    It is pretty simple - imagine if the code below would work that way: procedure ReplacePet(var pet: TPet); begin pet.Free; pet := TCat.Create; end; procedure Main; var dog: TDog; begin ReplacePet(dog); dog.Bark; // meow?! end; FreeAndNil is special because it just destroys and assigns nil. But a var parameter does not give that guarantee.
  3. tinyBigGAMES

    Some new projects...

    Here are a few recent projects I've created that might be useful to others: CScript: C99 Scripting Engine for Delphi ๐Ÿ…ฒ๐Ÿ†‚cript represents a sophisticated ๐Ÿ…ฒ99 scripting engine meticulously crafted for experienced ๐Ÿง‘โ€๐Ÿ’ป Delphi developers. Leveraging the compact yet highly versatile TinyCC compiler, ๐Ÿ…ฒ๐Ÿ†‚cript seamlessly integrates โš™๏ธ dynamic backend code generation into the Delphi development environment. With ๐Ÿ…ฒ๐Ÿ†‚cript, Delphi developers can ๐Ÿ› ๏ธ compile and execute ๐Ÿ…ฒ scripts at runtime, directly in ๐Ÿ’พ memory, and generate output in the form of ๐ŸชŸ Win64 executables (.exe), dynamic-link libraries (.dll), or ๐Ÿ“‚ object files (.obj). MemoryDLL: In-Memory Win64 DLL Loading & Execution for Pascal. The MemoryDLL unit provides advanced functionality for loading dynamic-link libraries (DLLs) directly from memory in Win64 environments. Unlike traditional methods that involve loading DLLs from the file system, MemoryDLL allows you to load DLLs from byte arrays ๐Ÿ“‚ or memory streams ๐Ÿ’พ, retrieve function addresses, and unload themโ€”all in-memory. This library is ideal for Delphi/FreePascal developers who need to manage DLLs without relying on the filesystem, enhancing both performance โšก and security ๐Ÿ”’. PSFML: SFML for Pascal PSFML is a Pascal binding for the โšก Simple and Fast Multimedia Library (SFML), providing Pascal developers with a straightforward way to utilize SFMLโ€™s multimedia features directly in their projects. Whether building ๐ŸŽฎ games, ๐Ÿค– interactive applications, or ๐ŸŽฅ multimedia tools, PSFML integrates smoothly with SFML, bringing robust multimedia functionality to the Pascal ecosystem. Enjoy! ๐Ÿ‘€
  4. Remy Lebeau

    Strict type checking for tObject.

    Perhaps this will help: Magic behind FreeAndNil
  5. tinyBigGAMES

    Some new projects...

    What if you wanted an even smaller Lua integration for Delphi? Just using stock Lua 5.4.7+, statically linked directly into your Delphi executable with no external overhead, and automatic registration of native Delphi routines, all in a single unit? Introducing Chandra - Lua Scripting for Delphi. A client needed a tiny, simpler, but capable Lua scripting solution than my recently released PLUA. The Chandra.o file (just Lua compiled into a single translation unit) is linked directly into Delphi via {$L Chandra.o} with ~600kb overhead. It can directly register published Delphi class methods via RTTI. Enjoy, happy coding! ๐Ÿ‘€ https://github.com/tinyBigGAMES/Chandra
  6. Hi, I just got an email from Appercept (https://www.appercept.com) offering a 20% black friday deal on the Appercept AWS SDK for Delphi - for anyone interested in utilising services on Amazon Web Services. A coupon BLACKCYBER20 just needs to be applied on checkout it seems. I have it from through the Emb Enterprise edition, but it may be useful for anyone on Pro that wants access to a very good SDK. IMO It has excellent documentation, responsive support and continuous development!
  7. Some Windows users received a faulty Windows update with WebView2 Runtime 131 that broke the official way to check if the evergreen runtime is installed in the computer. Microsoft stopped the deployment of that update and then released a fix but some computers may still have the broken runtime. In the case of WebView4Delphi this update caused the GlobalWebView2Loader.StartWebView2 call to return false because it couldn't find the WebView2 runtime on the system. As a temporary workaround, set GlobalWebView2Loader.CheckFiles to FALSE before the GlobalWebView2Loader.StartWebView2 call. Read this issue in the feedback repository for more details.
  8. Anders Melander

    Atlassian automatically adds commits to pull request

    I can't follow your description above and I can't make it match with what I see on your repos. I suggest you: Ditch BitBucket - it sucks. Use your repo on github instead. Ditch SourceTree - see above. Install Fork. If you tell me what the source and target branches are I can tell you how to do it.
  9. Remy Lebeau

    migrating projects to RAD Studio 12

    A word of advice - in C++, NEVER use the Form's OnCreate and OnDestroy events! (they are perfectly safe to use in Delphi only). The events are based on Delphi's object creation model (derived classes created before base classes), which is different than C++'s creation model (base classes created before derived classes). Also, their behavior has changed a few times over the years (due to internal changes [and bugs] related to handling of the TForm.OldCreateOrder property), so they are not always consistent in C++. As such, the events can be called before the Form's C++ constructor and after its destructor, respectively (I've seen it happen), which leads to undefined behavior in C++. In C++, ALWAYS use the Form's actual constructor/destructor instead.
ร—