Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 06/25/24 in all areas

  1. Marco Cantu

    Quality Portal going to be moved

    FYI, the server outage and the JIRA migration were totally unrelated (they happened at the same time, one scheduled the other not). Atlassian has discontinued the self hosted JIRA servers, the only option is going forward it to use the hosted system (or stay on an old not-secure and not-supported version). I don't want to discuss Atlassian offers and pricing, but given the 20 years of JIRA for our team work and bug tracking we decided to stay on it. This wasn't just one instance of JIRA, it was two separate installations with an extremely complex amount of automation and many plugins not supported by the cloud version. The limitations in JSM (Jira customers portal) are significant. We are going some extra mile around them (like sharing reports among customers). There is a lack of voting, but comments can be added. The UI is odd, but searching is not bad. We kept the system as open as possible and are open to additional suggestions, in the realms of what JSM (https://www.atlassian.com/software/jira/service-management) can do (ie, not much). Also, keep in mind that Embarcadero support comes from our support team, not just the bug reporting system. And PMs are always happy to engage in conversations.
  2. Hopefully all sorted now, including: Added new API import DW.Androidapi.JNI.AssetDelivery.pas Added new jar files to the ThirdParty\Android folder in Kastri Updated DW.AssetDelivery.Android.pas Updated the demo, including the manifest template. Updated the batch files which are included with the demo, to account for the changed Android build process in Delphi 12.1 Updated Codex to also account for the changed Android build process in Delphi 12.1 As you may have guessed, it wasn't as simple as swapping the .jar file, especially since asset-delivery-2.2.2.jar is dependent on play-core-common-2.0.3.jar. Newer versions of Android also require this implementation to have the Foreground Service Data Sync permission. I am yet to test with an AAB that's actually on Play Store (whether internal or not), but "local" testing worked OK.
  3. Did you know that the following will automatically work with TDictionary: type TMyKey = record public class operator Equal(const A, B: TMyKey): Boolean; function GetHashCode: Integer; end; Without the need to write custom equality comparer. At least in Delphi 12 it works. And System.TypeIfo unit contains GetRecCompareAddrs function, which is used in default equality comparer implementation. I realized it only recently, and see no docs/info on the internet.
  4. Angus Robertson

    ICS V9.2 announced

    ICS V9.2 has been released at: https://wiki.overbyte.eu/wiki/index.php/ICS_Download ICS is a free internet component library for Delphi 7, 2006 to 2010, XE to XE8, 10, 10.1, 10.2, 10.3, 10.4, 11 and 12 and C++ Builder 10.4, 11 and 12. ICS supports VCL and FMX, Win32, Win64 and MacOS 32-bit targets. Beware Mac OS-X and C++ have not been tested recently due to lack of support from such users. The distribution zip includes the latest OpenSSL 3.0.14. 3.2.2 and 3.3.1, for Win32 and Win64. Changes in ICS V9.2 include: 1 - V9.2 is a minor release, fixing a few issues introduced in the last major release, and other bugs located since. There are no breaking or installation changes from V9.1, but if updating from earlier releases please read https://wiki.overbyte.eu/wiki/index.php/Updating_projects_to_V9.1 2 - TIcsMailQueue can now queue a prepared EML file created by another application, or perhaps received by the SMTP Server. Added optional SkipEmpty argument to StartMailQu method so queue is not started unless there are pending emails waiting to be sent. The sample has 'Send Prepared EML File' to queue an existing EML file rather then preparing email with properties. 3 - Improved email MIME decoding by supporting embedded boundaries, usually for multipart/alternative parts, within a multipart/mixed message, using code written 20 years ago but suppressed for some reason. Previously these parts were sometimes left encoded within a part. There is a new property LooseRFC to allow decoding if the boundaries in the body are missing the two required hyphens, usually because the boundary also begins with hyphens. TMimeDecodeEx should now always return the body if no MIME parts are found, and TPartInfo has PLevel which is Part Level, and PInfo which is displayable part information for logs. The MimeDDemo sample has various improvements to test these features. 4 - Fixed a nasty Win64 problem reading EC certificates from the Windows Store, which may have caused server crashes, also reproducible in the PemTool listing the Windows Store. This was due to Win64 bad initialisation of a buffer used for a Crypto API call that failed. 5 - The HTTP client now checks the URL always has / at start of the path, ie add it for test.com?query. In the REST client, added a sanity check for RawParameters to encode any spaces, which can break the HTTP request. After a file download completed, check actual file size against response size. The multipart/form-data MimeBoundary no longer includes extra -- at start that are required preceding boundaries within parts, some web servers may have been unable to decode our MIME encoding. 6 - The HTTP server has a new method AnswerRedirect for various redirection responses to a new URL. When accessing the default document in a path without a trailing path delimited /, redirect using 301 to the correct path with delimiter instead of adding it locally and displaying the document which will then incorrectly link to pages in a higher level directory. Using the THttpOption hoAddMissPath redirects if the default document is missing perhaps a template or virtual document. Fixed a bug where authenticated POST/PUT requests always returned a 404 error. Added AnswerBodyTB client response with TBytes binary, similar to AnswerString, tested in the sample by supporting favicon.ico request. Check if the request HTTP version gets corrupted due to spaces in the URL, which are not allowed. The SslMultiWebServ sample has new web pages to test POST/PUT and template authentication. 7 - TSslX509Certs has a new function CertResetDomain to reset a certificate order state to None, if the order process stalls or gets confused due to errors. If AcmeV2StartChallgs fails because there are no pending challenges, reset to order to None so it starts again next time and does not loop. 8 - ICS not longer tries to load OpenSSL RAND_screen function that may be missing from recent DLLs. 9 - TIcsHttpMulti fixes a bug introduced in V8.66 that stopped the application setting authentication, rather than adding it to the URL, and a Win64 free stream bug. 10 - TIcsIpStrmLog correctly counts failed client connection attempts if ping is not used first to check the remote IP address. The sample has a new client Retry Attempts box to test this. 11 - Updated the Snippets sample to use authentication to access some the hardcoded URLs, which started failing after authentication was added to test web server bugs (see above). 12 - Added OverbyteIcsHttpThrd sample to show how to use TSslHttpRest component in a multi-threaded program. 13 - Improved Posix support for Linux and Android, not tested or supported yet. Beware SSL does not correctly load for Posix at the moment. 14 - Added support for a new feature release of OpenSSL 3.3 with {$DEFINE OpenSSL_33} in the Defs.inc file, ICS includes new versions of the active versions, 3.3.1, 3.2.2 and 3.0.14, but no longer includes 3.1 since there are two newer feature versions. 15 - Updated the 'ICS Intermediate Short' SSL certificates, used by ICS to generate temporary server certificates to allow SSL servers to run until a Let's Encrypt or commercial certificate is installed. It now expires after 200 days, 21st December 2024, after which self signed certificates will be used instead, unless a newer 'short' is installed. 16 - Only Delphi 10.41 and 10.42 (10.4 with updates 1 or 2) will install correctly with the new install packages, the original RTM version does not support the package LIB suffix: $(Auto) so you must change it manually for each package to 21.0. The release notes for V9.2 are at https://wiki.overbyte.eu/wiki/index.php/ICS_V9.2 All ICS active samples are available as prebuilt executables, to allow ease of testing without needing to install ICS and build them all. There are four separate zip files split into clients, servers, tools and miscellaneous samples which can be downloaded from https://wiki.overbyte.eu/wiki/index.php/ICS_Samples Angus
  5. Thank you so much 👍 We have successfully incorporated your new solution in our project (we use our own build script). It has also been tested on Play Store and that works too!
  6. hsauro

    Scientific research

    Same here. I still do all my UI in Delphi however. I still haven't found anything else that beats Delphi in terms of productivity for building UIs. I've used QT and wxWidgets and both required much more work to use and the results were still subpar, mainly because it's so hard to do iterative refinements to the UI.
  7. pyscripter

    Records as TDictionary keys

    Just keep in mind [RSP-43423] Using {$WEAKLINKRTTI ON} causes access violation on TList<T>.IndexOf method - Embarcadero Technologies, See also
  8. Darian Miller

    Quality Portal going to be moved

    It's disappointing for sure. Your support tool is a very visible representative of your company and your product. This is what they choose to represent their product. They had years of being out of date on their hosted JIRA so it didn't need to be a quick decision.
  9. Brandon Staggs

    Quality Portal going to be moved

    Delphi is already problematic when it comes to quality control. The new system is so mind-bogglingly horrible that the friction to post a new bug report is even greater than it used to be. And now we can't even vote for issues that matter to us, so Embacadero has no objective signal on what to focus on. This is not good for the future of Delphi. I knew an ISV developer who made pretty decent Windows utilities who would go out of his way to hide feedback mechanisms in his software. He would hide contact details behind a menu item only accessible from the form's system menu, so only the most determined people would ever find it. He just didn't want to deal with customers. This reminds me of that. The new QA is so irritating to use that I just don't even go there. The old one sucked bigtime, but it was at least usable enough that I would try. Now I am not even bothering.
  10. Sherlock

    ParnassusCoreEditor.dll AccessViolation

    It's called consistency and is considered to be a good thing...most of the time.
  11. Lars Fosdal

    ParnassusCoreEditor.dll AccessViolation

    I can't believe they fucked it up again...
×