Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Rollo62 last won the day on December 12 2021

Rollo62 had the most liked content!

Community Reputation

359 Excellent


Technical Information

  • Delphi-Version
    Delphi 11 Alexandria

Recent Profile Visitors

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

  1. Yes, but I'm looking at it from a users perspective, they just can make sense in many places to get to cleaner UI for the caller. I've try to keep all complexity behind the interface, so that the user don't have to care about it, of course this has its limitations. There can be issues with more complex stuff, but as said the interfaces are no general problemsolver either.
  2. Thats true, unfortunately there is no silver bullet in sight. On the other hand I also try to rework my code permanently, to be using interfaces over objects, so I would also put my bet a little on the interface side too. What I would say is that "interfaced" design leads to a more clean code in general, without the need of headache over construction/destruction too much, won't you agree ? Yes, you can misuse anything, but what I mean here is that interfaces may lead to a more clean class design like a kind of "pattern" too, at least from my experience.
  3. Rollo62

    ANN: Open Source Event Bus NX Horizon

    Thanks for the insights. I just started to read your new book for some days now, since I get distracted here and there, but I already can say its very well written book and nicely structured. I hope to see more books like that, to core topics, from you soon.
  4. Rollo62

    ANN: Open Source Event Bus NX Horizon

    Thanks for the nice and clean library, looks very good. What I'm missing still, same as in the DEB library, is the possibiltiy to easily subscribe and use anonymous methods instead of event methods. Why is that, and is there any plan to add such feature later on ?
  5. Rollo62

    Indy OpenSSL static linking

    Ok, thats a pity. Then I have little hope that it will be cross-platform one day. Maybe porting and testing the 3500+ functions of OpenSSL to Delphi native is a too tough beast, I had hope that Yu was doing it.
  6. Rollo62

    Indy OpenSSL static linking

    YuOpenSSL seems to be very interesting, but if they stop at Windows that wouldn't make much sense nowadays. Not sure what you mean by "preprocessing", so does that mean the library is not a pure Delphi-Pascal port ( what it claims to be, IMHO ), but rather a kind of OpenSSL "transpiler", including macros and C code, that is generating a binary DCU magically. It says at YuOpenSSL that you can get the sources as well, so I hope you talk about the process at YuOpenSSL to generate Pascal sources here, not about what a client has to do with the sources.
  7. Rollo62

    Indy OpenSSL static linking

    I only can see that YuOpenSSL support Win32/64, is that correct ? I wonder why, since a fully compiled SSL should be running under all platforms as well, or do they use any platform specific stuff of Windows only ?
  8. Yes, probably thats true and we would end here. Just to think a little out-of-the-box, towards possible Delphi future implementations: What would happen if Delphi would add a {$STRICT_CHAR ON/OFF} directive, which should not be too difficult IMHO ? Could that help to solve such issues between char/string, by simply defining this when needed in the unit with the overload ? I'm afraid not so easy, because the ambiguity happens in the caller, not necessarily in the overload unit itself. So the caller unit has to use this "strict_char" around such critical parts, similar like other directives do. Anyway, if that is good or bad or creates much other problems I cannot tell from my guts, but at least its maybe something weird to think about 🙂 Ok, for me the question is answered already here, since seems no new elegant workaround available now. Thanks for your thoughts and feedback.
  9. Thanks, Peter. Thats what I assumed too, but is there any deeper explanation how overload resolution of Char and String really works, and how this could be solved ? Maybe even the general resolution between Char and String. I understand that a String can be made of one Char 'a', which may be resolved as Char or String, which leads to ambiguities. Is there any clever trick to make this type references clear, and maybe even workable in overloads ? - I can use casts ( but that won't work for overlaod either ) - I could define and cast to my own types, like MyChar and MyString ( which is also not very elegant ) - Maybe constants like #13, #10, #0 have more "char-type-ness" than their string '' conterparts, but in practice that doesn't help much. Pascal has had the reputation of being the most type-safe language for quite some time, but just that char/string ambiguity has always left a bad taste, at least for me. I always wondered if these types cannot be made more "type-safe" nicely somehow.
  10. Hi there, I'm looking for an IndexOfAny( array or string, ... ) function, and find that there is already one in the TStringHelper. Unfortunately this is declared as a private function. TStringHelper = record helper for string ... private ... //<== NICE TO HAVE function IndexOfAny(const Values: array of string; var Index: Integer; StartIndex: Integer): Integer; overload; .. public ... // Maybe these bites with above declaration, as Char may interpreted as string too ? function IndexOfAny(const AnyOf: array of Char): Integer; overload; function IndexOfAny(const AnyOf: array of Char; StartIndex: Integer): Integer; overload; function IndexOfAny(const AnyOf: array of Char; StartIndex: Integer; Count: Integer): Integer; overload; ... end; I'm not realy sure why this function is hidden. Maybe because Char and String might cause issues when mixing in a overload, I haven't checked what would happen when making this public too ?
  11. Rollo62

    Delphi Android/IOS Apps

    Maybe this showcase is interesting too, and this more modern site.
  12. The version I have installed is jdk-, which is the one that come together with the RadStudio iinstaller. I've never tried to update to a newer version than the one bundeld and approved with the IDE, maybe it makes sense to check with this older version.
  13. Rollo62

    [Source code] Swim - small game written in Delphi

    Looks very nice and relaxing. Have you heard about the Skia contest ? It should be still ongoing, not sure if they take games as "UI" too.
  14. All that can happen, but its also true that the whole pip, npm, composer, chocolatey universes and also the applications and websites build on that rely on such same repositories. These should be billions I would guess. This would break as well for many other applications, no matter if bundled or not, or if hosted on AWS. I was never aware of any bigger problems with that repos, of course security issues always appear here and there on a daily bases, but in general well maintained packages, reviewed by many people, should have relative low risk. That said also Workpress, Joomla, whatever face the same risks, even every Website, not only a very specific desktop application. I would assume if someone compromizes for example ImageMagick, then the whole web will be down, not caring much about such small desktop app. The last case I can think of was OpenSSL or log4j, which had that ability to put the web down, it can basically catch anyone anytime always. We're all using some external stuff here and there, even Delphi itself was compromized before, so I would not think that risk with repos would not be manageable. But thanks to remind me on that risk question, so it might be a good idea to integrate some additional "security" features inside, for example to be able to cut off the apps fastly from a central server by a blacklist server maybe, if some problems with packages are known.
  15. Maybe the difference I'm looking for is the ability also to integrate non-python packages, like this example, this is why I'm looking after Anaconda vs. Chocolatey for example. Yes, its a test balloon and new consideration for me too, to find out that whole thing makes sense. I'm not thinking of a huge application, but about a small app that can do a few little things very good, like a swiss knife. There are so many very good, well maintained open libraries out there, why not make use of them and even push their publication a little ? I know quite a few free or not-free "utility" products that rely on other open-source packages, only for making them more user-friendly. To download from 3rd Party I see not as problen at all, best example is Delphi itself: - Installer downloads Ms Dot-Net installer - Delphi uses Android SDK packages ( I have to confirm license sepatately ) and so on. I think this is nothing new or "smelly" with that approach, at least from my point of view. We only have to take care about the license questions, maybe switch from open to licensed packages in some cases. For that reasons I'm looking after platforms that supports most packages in a most convenient way.