Jump to content

M.Joos

Members
  • Content Count

    57
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by M.Joos

  1. M.Joos

    Your RAD Studio 10.4 Sydney issues

    The error looks very similar, although in my case the out of bound list index was 7 instead of 5. But in my case I found the culprit elsewhere - It was the Version Insight Ide Plugin from the other Uwe. Do you by any chance have a version of it that installs out of the box into 10.4 ?
  2. M.Joos

    Your RAD Studio 10.4 Sydney issues

    Thanks Dalija, indeed I have multiple IDE plugins installed. It is quite likely that these are the culprit. Maybe I should have a closer look at what exactly gets migrated and uncheck probably those that might be porblematic. And thanks for the trick of just deleting the registry key. I let you know how it turned out.
  3. M.Joos

    Your RAD Studio 10.4 Sydney issues

    I just ran the migration tool and wanted to transfer my settings from 10.3 to 10.4. Now at startup of 10.4 I get a "Index out of bounds error" with succesive "Interface not supported" errors. The Ide does not start any more. Does anybody have any ideas? Is there a way to undo the migration ? TIA
  4. I would not draw directly on the canvas. Use TShapes. You may also want to have a look at this selection component that is part of FMX: TSelection
  5. Hi all, when running the following code program Project105; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, System.SyncObjs; var Sync: Integer; Test: Boolean; begin try TInterlocked.BitTestAndClear(Sync,0); Test := TInterlocked.BitTestAndSet(Sync,0); if Test then writeln('Why is Test true here ??') else writeln('Okay, That''s what I expected'); readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end. Why is it that the variable Test is set to true, when the documentation says ".... The method returns True if the bit is 1, False otherwise ". Clearly I have set the bit to 0 with TInterlocked.BitTestandClear, haven't I ? What am I missing. Tested with Delphi 10.1 Berlin.
  6. You are right, Uwe. Tested it in 10.3.2 and it works as expected. Upon closer inspection it seems they fixed the Tinterlocked code which in Berlin looked like this: $ELSEIF Defined(X86ASM)} asm AND EDX,31 LOCK BTS [EAX],EDX SETNC AL end; {$ELSE} var and in Rio looks like this: {$ELSEIF Defined(X86ASM)} asm AND EDX,31 LOCK BTS [EAX],EDX SETC AL end; {$ELSE} Okay, and I thought I would be crazy or something
  7. That's nifty ! I will put that one to my toolbox.
  8. M.Joos

    FMX Platform Frame design

    This is by design and not a specific problem of frames. So you cannot have platform specific design with frames. But maybe the approach suggested by Ray Konopka may work for you. He had given a session at Coderage 2018 called "Mobile View Management" in which he proposes an alternative to using frames. You can find the replay here: https://www.embarcaderoacademy.com/courses/441209/lectures/8426275 (You need to sign up for free in order to be able to watch the replay)
  9. That sounds like a feasible fix. Let's wait and see what they come up with in a hot fix.
  10. I have not installed 10.3.2 yet, so don't have the source code to look at TfieldCache. But yes it makes a lot of sense to cache the Field addresses of a class, as in a typical form loading scenario you have multiple instances of the same class, so that the expensive code to determine the Field address is not repeated over and over again. Unfortunately as Remy showed, this introduced some severe bugs, so I would expect a hot fix for 10.3.2 very soon. Hopefully they can fix TfieldCache rather than rolling back to the 10.3 approach for FieldAddress.
  11. Do you have more details about what they changed to make serialisation faster?
  12. I think your code did not work with Delphi Tokio (10.2.3) either. You should set the stored property of your child components (Panel, Rectangle, Timer) to false.
  13. M.Joos

    screen shot - reliable method

    In modern Windows (I think they started with Win7) you could use the Windows Desktop Duplication API. A delphi wrapper can be found here https://github.com/tothpaul/Delphi/tree/master/DesktopDuplicationAPI
  14. M.Joos

    Hands-On Design Patterns with Delphi

    Yes, mine arrived yesterday.
  15. No, in your example both loops will be O(INFINITE). Well, not quite. It would be O(MaxDouble / x) to be precise.
  16. In theory, yes. But which unit tests can or do test the specification in full? Well, maybe some do, but e.g. the all so often used example of a unit test for an addition fails to test the full specification.
  17. I would argue that the same is true for single threaded code as well.
  18. M.Joos

    TMediaPlayer and TMediaPlayerControlFMX

    Be aware that there is a bug in the TMediaPlayer component that reports an "unsupported media file" error when it should have reported a "file not found" error. So first check if the file you are pointing to actually exists.
  19. Although I wouldn't phrase it like this, yes, this version should work. Variable capture is actually an important feature of anonymous methods. Without, they would hardly be more than a fancy way of procedural types.
  20. This is not a bug, but expected behavior: This is what variable capture with anonymous methods is all about. But I agree, this can sometimes be hard to spot and lead to unexpected results as in your case.
  21. M.Joos

    Property editor - on the finest art

    Thanks a lot. I will look and eventually extend your code somewhat. I am really missing the OI expert from Uwe Schuster, that went along similar ideas that you have. So maybe I can come up with a similar solution than Uwe's expert. At least your code is a good starting point, so thanks a lot for sharing.
  22. M.Joos

    Property editor - on the finest art

    Hi Attlia, looks very promising. But where can I find the code fort it ?
  23. Thanks a lot, works like a charm, also in RIO. Now if you would also have the "old" Object Inspector Expert from Uwe ..... that would be a dream !
×