Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 01/14/21 in all areas

  1. I would like to add: "because good compilers can turn such code into the most efficient code."
  2. Get the most out of your GPU by writing custom shaders for FireMonkey! https://blog.grijjy.com/2021/01/14/shader-programming/
  3. Dalija Prasnikar

    Addendum to Martin Fowler quote

    Somebody needs to make a good compiler first...
  4. David Heffernan

    Addendum to Martin Fowler quote

    You OK hun?
  5. Eh? Imagine how people who pay would feel if I start giving it away Anyway, if this would be bread and you would be hungry, I'd give you a loaf without thinking twice, but it's not. As much as I'd like to think it is, this book is not really something you can't live without, so... Sorry... And about hugs... My husband expressed his wish to have a private chat with you... you'd better lay low for a while
  6. Making it available to everyone who want a thread safe, asynchronous, cross-platform and simplistic messaging system for communication between classes / layers in delphi applications. https://github.com/viniciusfbb/ipub-messaging
  7. David Heffernan

    Addendum to Martin Fowler quote

    @emailx45 Perhaps there's a language barrier, but in this topic we are talking about the efficiency of the code generated by the compiler. Because for me there has been nothing added since XE7 that would bring enough benefit to justify the time cost of migrating.
  8. Me and my family are fine, now. Thanks!
  9. Not yet, as we have a backlog of other projects that piled up in the meantime. I had COVID and the earthquake hit the region again on December 29. None of this helped my keep my planned schedule. I do plan to release paperback eventually, but can't tell exactly when.
  10. Anders Melander

    IsElevated

    The ones you found probably does something like this, so I guess that's oldish too : // ----------------------------------------------------------------------------- // // RunningAsAdmin // // ----------------------------------------------------------------------------- // Detect if we're running at an elevated security level. // ----------------------------------------------------------------------------- function RunningAsAdmin: boolean; var hToken, hProcess: THandle; pTokenInformation: pointer; ReturnLength: DWord; TokenInformation: TTokenElevation; begin Result := False; hProcess := GetCurrentProcess; try if OpenProcessToken(hProcess, TOKEN_QUERY, hToken) then try FillChar(TokenInformation, SizeOf(TokenInformation), 0); pTokenInformation := @TokenInformation; GetTokenInformation(hToken, TokenElevation, pTokenInformation, SizeOf(TokenInformation), ReturnLength); Result := (TokenInformation.TokenIsElevated <> 0); finally CloseHandle(hToken); end; except // Ignore error - although none of the above should throw an exception... end; end;
  11. @Dalija Prasnikar something for the second edition 😉 - https://github.com/VSoftTechnologies/VSoft.Messaging It's the messaging system we use in FinalBuilder - uses TObject.Dispatch and unlike System.Messaging, it's threadsafe. Works with VCL and FMX, although I have not tested on mobile as I don't do mobile dev.
  12. You can find a list here: Exposing DataSnap Server Methods
  13. The full list of code examples from the book Delphi Event-based and Asynchronous Programming is now available on GitHub: https://github.com/dalijap/code-delphi-async
  14. David Schwartz

    Is it really good practice to create Forms only as needed? Always?

    Well ... I'd think more like 5 minutes per tab to copy the components into a new form. Then you need to figure out how you're going to get the data in and out, which should be the same for all of your forms (just for consistency sake). So the first four might take an hour. But after they, they'll go steadily quicker, maybe 10 minutes each. Watch my CodeRage 9 video for more insights: https://www.youtube.com/watch?v=qqKx8fQTTfI
×