Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Rollo62 last won the day on March 18

Rollo62 had the most liked content!

Community Reputation

164 Excellent

Technical Information

  • Delphi-Version
    Delphi 10.2 Tokyo

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Rollo62

    MsgWaitForMultipleObjects Usage

    To put something in a thread and hold the main UI thread until its finished , that makes not much sense IMHO. Then you can also proceed everything in the main UI, its the same effect. A task should be running in parallel.
  2. Hi there, this is another chapter of my daily issues with Apple: Suddenly the update of IPA to AppStore of an formerly running app failed, when using the Transporter. I usually keep my Transporter open for days and weeks, maybe that causes sometimes an issue. From my research for this error I found a few possible reasons and solutions in the web, where I've tried to re-boot my VM first. Solution: 1. Just relaunch Transporter app, or quit and re-enter it again. (not tested, but sound reasonable). 2. Try completely shutting down your device and then turning it back on and trying. (I've tried this one). 3. Check the matching case of the SKU for new apps: E.g. "com.company.appName" wasn't accepted. If changed to "com.Company.AppName", matching the AppStore entry, it works. Sometimes solutions can be so easy, but I hardly see the easy one's very often 😥
  3. Rollo62

    On the use of Interposers

    @Stefan Glienke The BOM fix is a perfect example of what Im talking about. Not too many functions in one class, but a class that does its job right.
  4. Rollo62

    What is wrong with TStringList

    So the circle closes to @pyscripter s solution of Bom Handling, Which makes a Lot of Sense to me.
  5. Rollo62

    On the use of Interposers

    @Lars Fosdal Well thanks for that. One more argument for me, why I'm thinking of even TStringList as interposer: I NEED a real good TStringList, doing all the basic jobs. I really don't like to have a TStringListF for right file handling, a TStringListS for right stream handling, a TStringListKV for right Key/Value handling. This is too much name cluttering for my taste, and usually not very necessary to me, better to have one TStringList that fixes it all, and provide all basic, COMPLETE functionality. Most issues I have that classes don't were designed completey, and important parts were missing. I hope you get my point, just my 2 cents, why I think of interposers more than I should. And yes, we can derive a TStringListEx from TStringList, as the new and only perfekt child (maybe).
  6. Rollo62

    What is wrong with TStringList

    Yes, sorry for that. But its interesting to see that the world is divided into design time component lovers, and not so much lovers 🙂 It still has a bit to do with the gerat TStringList component ( I hope ). At least we all agree that this is the right way to go for this, as a new, derived class.
  7. @Dave Nottage Happens since I've tested TMS components, at least I haven't noticed earlier, maybe I have to unload them. Up to now I have just a bare Rx10.4.1, except TMS and yes, TestInsight.
  8. I have seen such behaviour when I tried to include functional code (with implementation section) from one file (.pas or .inc, doesn't matter),into another .pas file. Instead of integrating this as a whole into the target file, I could not separately debug this, got a similar error and a non-editable file. If I remember right, I could compile that, only opening the file while debugging caused the issue, but not sure anymore.
  9. Rollo62

    On the use of Interposers

    @David Heffernan More trouble means I have to make all these components work in the designer now, I think there is no neat trick w/o registering them. Also they are no more compatible classes, which could be used as "Xyz is TButton".
  10. Hi there, I used to include a custom UserTools.proj file in the %APPDATA% folder, where some general project settings are defined. That file does not do anything harmful, only provides some global defines <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <DCC_Define>FrameWork_$(FrameworkType);$(DCC_Define)</DCC_Define> <DCC_Define>_X_USE_$(FrameworkType);$(DCC_Define)</DCC_Define> <DCC_Define>_X_SHOW_EXTENDED_HINTS;$(DCC_Define)</DCC_Define> </PropertyGroup> </Project> This file always worked very well, since many versions now, but just I see that the following happens reproducable: Closed IDE, I copy the UserTools.proj to %APPDATA% I start the IDE: UserTools.proj is still there I open a blank project: UserTools.proj is still there I do a project clean UserTools.proj is gone I have installed only TMS WebCode, TMS FNC Components Have never seen that cleaning a project might remove something from %APPDATA% folder, is that a new bug, or maybe something else is wrong. Maybe someone has a clue what happens here, would be very grateful, before I have to change all my projects ? Edit: Maybe I must add that I was testing on iOS currently. Have to check the behaviour on other platforms too, but I think it should be all the same.
  11. Rollo62

    On the use of Interposers

    I don't see any stability issues, thats why I carefully added more and more interposers with such fixes. But what would be the alternative, to have a separate layer of self-defined components, on top of the existing ones. That would basically do the same job as the interposers, but would cause a LOT more trouble in designing the forms. Maybe it depends much on how your current workflow is. I mostly use component designer for fast (RAD) visual definitions, a few Events maybe for early testing sometimes, but mostly I do the coding via interposers and their wrapping around events, by adding their own anonymous methods. That way RAD is for design, and interposers serve for easy to use runtime coding the business logic. I agree this gets maybe difficult when it comes to BPL, DLL, etc., or binding statis DCU from other sources. Happily I don't have to do that, but if you work a lot with 3rd party components I would be more careful. Even then, when you keep your units capsulated from external DCU, that should be still OK, only the mixing might crash. I also try to divide my units into smallest possible fractions, to ensure that de-coupling (which not always works that easy).
  12. Rollo62

    What is wrong with TStringList

    @Stefan Glienke @Dany Marmur Thanks for your considerations. I use interposer heavily on components, to fix and enhance their behaviour. Sometimes I think even thats too much, but everytime it turns out that they behave so well. From that fact comes my dark consideration to use them elsewhere too, from time to time. My thoughts were about enhancing existing units and frameworks, by simply dropping an uses entry, which "auto-magically" can enhance the units functionality, without too much (or any) reworking of the whole unit. But sure, I was afraid of all that "side effects" too, thats why I didn't use them on RTL classes right now. You're arguments are right, so I won't touch them, and stay on the safe side.
  13. Rollo62

    What is wrong with TStringList

    I like useful enhancements to such basic classes very much . But as always I ask myself, if its worth a separate class, or would it be better to have an interposer class for the new functionalty. With such basic class I'm not very sure if such interposer would be good or bad animal, maybe there could be hard issues when mixing with original, static classes. Since I basically compile all code from sources, I'm quite relaxed, but this could lay the ground of nasty problems. What is your opinion, about when to use interposer classes, and when better avoid it ?
  14. If its a new project, then its still time to change to FMX.
  15. Do you know that FMX instead of VCL basically has maps for iOS and Android included ? In a new project, maybe FMX makes sense for you too ?