Jump to content

Rollo62

Members
  • Content Count

    1945
  • Joined

  • Last visited

  • Days Won

    24

Everything posted by Rollo62

  1. Ok, I also had created a new app recently, but this was rejected and I had to upload the App Signature process similar as above before, to get the keystore into the AppStore. If that is the case, maybe the difference is that I used the same keystore for several apps, which looks maybe suspicious to Google. I intended to use the same keystore per one company, to avoid keystore / password / alias hell πŸ™‚ Maybe its a better idea to generate a new one for each app, next time I will try to create a brand new keystore to see if that makes a difference.
  2. Strange, I was forced to do that in order to update AAB, no way to opt-out. And it makes a kindof sense if Google re-bundles your app, to deliver optimized packages to certain phones, depending on the And32/64 bit size. They would need the keystore to re-sign the app, I think is whats happening behind the scenes. Maybe you had an existing app, which was started at APK, I had seen a note from Dalija that its still possible to upload APK (maybe only for And-32). So far I understood that after the deadline also old and new updates to existing apps needed AAB Bundle, which had to be activated first time. There were several ways to do that, I used the way by uploading Keystore, since this is offere by RX11 IDE too. The ever-changing UI looke like this, 2-3 years ago: Saying ... If you want to use AAB ... you have to have Google to manage your signature keystore. 1. Upload an keystore exported from Android Studio 2. Export and upload a key from a Java-Keystore 3. Export and upload a key(NOT from a Java-Keystore) 2. Was the option I used, simple with my existing keystore. Maybe different options arise when using option 1.) or 3.), this is how it looked like
  3. Not sure what went wrong, it looks a bit as if you not have activated the necessary AAB Signature and keystore yet in the PlayStore. I have made an older, probably outdated, description here, and there were also interesting links in the German DP howto generate that keys. More or less the process should be still the same, but Google might have changed the fineprints during the last years, I haven't checked that recently.
  4. How do you generate yout APK file ? For release it should not only compiled as usual, but deployed: First in Release "Build" or "Build all" Then "Deploy" to create and bundle the AAB Is this the way how you are doing it ?
  5. Rollo62

    iPhoneOS15.X.sdk

    Welcome to the Apple money machine Thats why we are always forced to buy their latest stuff (and nobody really complains). I'm afraid there is no way out, but I haven't tried with hackintoshs or the like, beside thats illegal. I have the experience that Apple may control well when it requires real, certified hardware, instead of things like a VM.
  6. Its available under All Android 64 Bit, and should be under Release Android 64 Bit as well Did you switch in both Android 32 and 64 to the Application Store ? Did you provide in the Project options provisioning the requred data and verified it ?
  7. Its still a little unclear to me if you are on VCL or FMX. Graphics32 is fine of course for VCL, I would not call it too "fat", but its basically a raster graphics library. You can have a look at Image32 too, which works well under VCL/FMX, as well as with some support for SVG structures. If you look after the very "thin" FMX solution, then maybe TPath is also worth a look. This is able to define SVG-like PathData draw paths, by simple text codes. If you combine some paths separated by "z" then also quite complex shapes can be drawn.
  8. 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.
  9. 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.
  10. 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.
  11. 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 ?
  12. 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.
  13. 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.
  14. 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 ?
  15. 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 ?
  16. 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.
  17. 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.
  18. Rollo62

    Delphi Android/IOS Apps

    Maybe this showcase is interesting too, and this more modern site.
  19. The version I have installed is jdk-8.0.242.08-hotspot, 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.
  20. Hi there, I'm considering to dive a little into the Python universe, and ask myself which one is the best approach to get started. Currently I use the package manager Chocolatey under Windows, not for Python yet, but it should be able to install Python and Anaconda as well. I would like to bundle and use Python, Python4Delphi from a Delphi application as controller, best of all nicely integrated in one setup, to produce a commercial application. Since inclusion into one binary setup is very likely problematic, this can be also a separate download of installers, which best of all can be running silently. I like the environment of Python, but I would like to keep customers away from all the nerdy internals, as much as possible. I have a few main questions to all of this What is the best installer (distribution ) to be packed ( or separately downloaded ) together with a complete commercial application What is the best installer to meet all the licenses, containing Python, their Packages and repositories ( I think Anaconda is the only repository, but I'm unsure ). Can Python itself be used (bundled or separate installed) within a commercial applications ? The License itself seems a kind of specific .Python license The licenses of the separate packages need to be checked individually, that is not my point here at the moment. I would like to find what is the best way to bundle Python, Python4Delphi with a Delphi application. In general I understand the differences like that: Chocolatey Is able to install Python and Anaconda too, but this is maybe only an additional layer which is not necessary What I understood is that the Conda universe can completely replace Chocolatey and more, is that correct ?. Is it worth to replace Chocolatey by Anaconda, also for other projects, like the Node.js, PHP universes ? Does it make sense to keep them side-by-side, so that they play out their synergies ? Conda Is the pure package manager application, whereas Anaconda and Miniconda are distributions including already Python and some packages. Seems to be related to Anaconda universe only Anaconda: Best if you are new to conda or Python ( really ? ) Has the onvenience of having Python and over 1500 scientific packages automatically installed at once Have enough time and disk space (a few minutes and 3 GB) If you don’t want to install each of the packages you want to use individually. Is a full distribution of the central software in the PyData ecosystem, and includes Python itself along with the binaries for several hundred third-party open-source projects. It seems Anaconda is bloated Licensing is maybe problematic, if I consider a properitary application later on ( would need an Enterprise account and pricing ) Miniconda: If you do not mind installing each of the packages you want to use individually ( that should be a one-liner each, installing all their dependencies too ). Try to optimize install time or disk space, by installing only the necessary libraries at once If you want to get fast access to Python and the conda commands, and wish to sort out the other programs later. Its essentially an installer for an empty conda environment, containing only Conda, its dependencies, and Python. It seems Microconda is lean and clean, thats what I prefer Licensing is somewhat unclear, it seems that Microconda is free to be integrated in applications ( maybe installing a few packages only depends on their licenses alone ? ) PIP: PyPi: This is the package manger for Python itself, I'm not sure to what that repository is related to ( is it only PyPi ? ). It seems to have a separate repo, is that right ? Does Anaconda and PIP share some repositories and packages ? If so, which one are more actual ? Maybe the Python experts in this forum have more insight into the Python setup, usable for complete applications. I hope to find some answers here how to utilize all above at its best, otherwise the whole Python thing stays maybe a personal playground only.
  21. 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.
  22. 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.
  23. 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.
  24. Rollo62

    Help debugging TNotificationCenter

    I'm not sure how Win10 Notification behaves, but what happens if you try to decouple this from the incomin ComPort thread ? procedure TForm62.comportclient1Receive(Sender: TObject; InQue: Integer); begin SendMessage(handle, pm_ProcessBarcodeScan, WPARAM(0), LPARAM(0)); //<= Better avoid any ProcessMessages application.processmessages; end; procedure TForm62.ProcessBarcodeScan(var Message: TMessage); begin inherited; SendWin10Notification('Hello World', 'Sent by Message'); end; procedure TForm62.SendWin10Notification(aTitle, aAlertBody: string); begin TThread.ForceQueue( //<= This ensure the call inside main thread, and should avoid to use a Timer IMHO nil, procedure var lNotification : TNotification; begin lNotification := NotificationCenter.CreateNotification; // Processed in Main UI thread here lNotification.Name := format('Windows10Notification%d', [GetTickcount]); lNotification.Title := aTitle; lNotification.AlertBody := aAlertBody; lotificationCenter1.PresentNotification( lNotification ) //insendmessage <== This doesn't help, if you call this several times. // Where is FNotification be created, probably only once at start ? // I think you could have to create a local FNotification here, if you don't have the need to touch this variable again. end ); end; //<= This is probably not necessary at all procedure TForm62.Timer1Timer(Sender: TObject);
  25. Yes, but it seems not all Packages are available in the standard distribution or the connected PyPi repository. Thats why I looked into Anaconda repository, which seems to be well maintained. If I distribute Python together in an compiled setup, then I would like to have a minimal installation and all required packages were loaded after install from the main exe. A GUI protects the user from any interfearance with the Python backend. If you meant that the "normal" Python distribution is free to add in commercials too, and is able to bootstrap itself from PyPi or Anaconda, then this might be a good alternative too. As far as I have seen, the Python license would allow that, I think you're right. Some Python-nauts recommend to use Miniconda for that bootstrap purpose, which would also be by favorite so far. Thats why I ask what the best setup for this task would be, I'm a 5% Python newbie so far πŸ™‚ Only have used a few scripts for testing. Not quite, I want to prepare pre-build apps with e.g. InnoSetup, similar as usual, convenient Windows Apps, where the simple user shall be totally shielded against any underlying command-line operations or other "difficult" tasks, like re-loading extra packages, etc. Everything should be packed in a nice GUI, with a few buttons to operate, while that hard work is done by some special Python packages underneath. The GUI should only prepare all packages accordingly and run the prepared scripts.
Γ—