Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 11/26/18 in all areas

  1. I wonder, would it be nice to channel posts on QP issues to a specific sub-forum? f.x. "Delphi Bugs & Issues" Sub-titled "Reported to QualityPortal" We do get a certain amount of these, particularly around new releases.
  2. Arnaud Bouchez

    mORMot running on Delphi 10.3 Rio

    Now that Delphi 10.3 Rio is out, we had to ensure that our little mORMot would run with this revision. Since we don't make any commercial software with Delphi any more (we switched to FPC), I downloaded the Community Edition. We disabled the Error Insight feature, which seems not very stable especially with our mORMot complex units - as with previous Delphi versions. In respect to the previous "Starter" editions, this CE version includes everything you expect for good work: Win32 + Win64 + OSX + mobile compilers, and even the source code of the RTL and enabled command-line compilers! The IDE seems really refreshed with its new layout. You feel at home and with some modern and fresh air! Great work Embarcadero! Of course, the "Pro" and "Architect" features are missing (like FireDAC, DataSnap or RADServer). But mORMot is self-contained even for the database access, so with the CE you can write full-features REST/SOA client-servers and MVC web applications, with a simple ORM and high-performance OleDB/ODBC database access to SQlite3, MSSQL, Oracle, Firebird, MySQL and others (by-passing the TDataSet class for better performance) and even NoSQL like MongoDB. Ensure you follow the Embarcadero license terms when you use mORMot with the Community Edition. With Rio, the main breaking change was that the PCRE API switched from an UTF-8 to UTF-16, and did hide the UTF-8 function calls. But after a small patch, now everything works as expected - at least for our regression tests. See http://blog.synopse.info/post/2018/11/24/mORMot-running-on-Delphi-10.3-Rio
  3. Dalija Prasnikar

    Error insight in Rio

    As far as Beta bug reporting is concerned there are few things to know. 1. Not all bugs reported during Beta test are resolved during Beta test period. 2. Beta test bugs are tracked separately from main RSP tracker. 3. Beta test bugs that are still not resolved are moved to main RSP tracker project. 4. Moving issues to public tracker requires some administrative work - it is not just simple move all procedure - and it takes some time. At this moment unresolved Rio beta test issues are still not publicly available.
  4. I have just uploaded a beta version of GExperts 1.3.12 for Delphi 10.3 Rio. NOTE: This is a BETA! Beware of bugs, e.g. the Goto-Dialog enhancements cause redraw problems if theming is enabled, the Run Parameters dialog enhancements (drag and drop for files and directories) don’t work at all. https://blog.dummzeuch.de/2018/11/25/gexperts-1-3-12-beta-for-delphi-10-3-rio-available/
  5. Primož Gabrijelčič

    OmniThreadLibrary 3.07.6

    Version 3.07.6 brings official support for Delphi 10.3 Rio, few changes and bugfixes. You can get it now on git, download the ZIP archive, install it with Delphinus or with GetIt (soon). For more information, visit OmniThreadLibrary home page or write your question on this forum. New features Implemented TOmniValue.LogValue. Implemented TOmniBlockingCollection.FromArray<T>, .FromRange<T>, and .AddRange<T>. Added timeout parameter to TOmniMREW.TryEnterReadLock and TOmniMREW.TryExitReadLock. Bug fixes Fixed race condition in TOmniBaseBoundedQueue.RemoveLink which could cause TOmniBaseBoundedQueue.Enqueue to return False when the queue was empty. Fixed race condition between TOmniResourceCount.[Try]Allocate and TOmniResourceCount.Release. [tnx to Stephen Melnyk] ThreadData is destroyed in the worker thread and not in the thread pool management thread. Reduced hints&warnings.
  6. The REST Library in Delphi Rio has a serious error. I was last weekend at the world's largest HackYeah hackathon, where I needed to use the Delphi Rio to connect to the rest service. However, I could not. REST Debbuger did not return any error or response after calling the request (button Send Request). I lost a lot of time on the verification of network connections and the operation of the server itself (I thought that a heavy load on the hackatone participants "killed" the server) but it turned out to be a mistake in the REST Library. When I tried to call the request directly from Delphi (request.Execute ()) I got an error in KERNELBASE. There is no error in Delphi Tokyo, the same code worked there, but on my laptop I only had Rio. So I was looking for a solution. Eventually, I found the place and the reason, corrected RTL file (after copy to project directory) and the code runed, but the bad taste remained. Later I will publish where the error lies.
  7. Never, I use Beyond Compare, hook up to both registry trees and copy/merge at will. BC even allows me to alter the paths after I copy. Been using that since Seattle.
  8. Stefan Glienke

    Delphi Bugs reported to QualityPortal

    https://quality.embarcadero.com/issues/?jql=affectedVersion %3D "10.3 Rio" and status not in (Closed%2CDone%2CResolved)
  9. var ctx: TRttiContext; rt: TRttiType; tf: TRttiField; tft: TRttiDynamicArrayType; tc: TClass; prop: TRttiProperty; code MyVar := TMyOuterType.Create; ctx := TRttiContext.Create; for tf in ctx.GetType(MyVar.ClassInfo).GetDeclaredFields do // took FItems as a class Field as it was easier to work with if tf.Name = 'FItems' then // change it to GetDeclaredProperties for Properties begin tft := tf.FieldType as TRttiDynamicArrayType; rt := tft.ElementType; for prop in rt.GetDeclaredProperties do writeln(prop.Name); Break; end;
  10. Stefan Glienke

    Can somebody confirm this in 10.3?

    Yup, did that. To work around that issue, you can put list.List into the watches.
  11. Arnaud Bouchez

    mORMot running on Delphi 10.3 Rio

    If you use the mORMot layer with direct MySQL ODBC provider - or even better https://sourceforge.net/projects/zeoslib/ - you have a 100% Open Source access with the Community Edition, also for remote servers. The mORMot framework has its own database access layer, which by-pass DB.pas and the TDataSet, and work directly from/to JSON on the database provider, for best efficiency. You can use FireDAC as DB access layer with mORMot, but this is not mandatory - and even slower in practice. See https://synopse.info/forum/viewtopic.php?pid=28311#p28311 for actual benchmark numbers. From this test, ZDBC direct access to MySQL is more than 3 times faster than FireDAC, to retrieve individual objects (7138/s vs 2171/s). This includes the ORM layer, and the JSON serialization/unserialization. Of course, a local SQLite3 database is the fastest (by far), and fits very well the MicroServices paradigm.
  12. Jacek Laskowski

    Delphi Bugs reported to QualityPortal

    Yes, it's good idea!
  13. David Schwartz

    Error insight in Rio

    I'm constantly seeing little red lines show up in perfectly good code in 10.2.3, even right after a clean compile. It's pretty damn worthless a lot of the time.
  14. ByteJuggler

    dotNet framework 4.5 required for Delphi 10.3 Rio

    Also here: https://quality.embarcadero.com/browse/RSP-21670
  15. Andrea Magni

    mORMot running on Delphi 10.3 Rio

    @Arnaud Bouchez Glad to read this! Any chance to see it compile for the Delphi (non-ARC) Linux compiler too? I am very interested as this would imply Linux support for mORMot-JWT (https://github.com/andrea-magni/mORMot-JWT) and I guess for dMustache (https://github.com/synopse/dmustache) as well. Sincerely
  16. My coworkers know my obsession with the tab order in dialogs. I frequently tell them to check it before committing code to the repository (they even released it at some time 😞 ). Now I have to do the same with Embarcadero: https://quality.embarcadero.com/browse/RSP-21726 Why did I notice? Because it broke the GExperts enhancement for the Run -> Parameters dialog. Now I have to change that code yet again.
  17. David Hoyle

    GExperts 1.3.12 beta for Delphi 10.3 Rio available

    Thomas, When I press CTRL+H to display the Editor Experts, the popup menu is drawn such that the text cannot be read for the items (see attached image - also the toolbar is not themed).
  18. David Hoyle

    Bring codeSite LiveView window to front by code?

    I don't think there are any methods of CodeSite to do this simply because there is a distinct separation between the logging and the viewers (you can output to file instead of the live viewer for instance). So the only over way would be to enumerate the desktop windows and find the CodeSite Live Viewer and get windows to do this.
  19. pyscripter

    GExperts 1.3.12 beta for Delphi 10.3 Rio available

    Another minor issue I can live with is that the Editor Experts popup menu appears blanc with the Dark scheme.
  20. Fritzew

    GExperts 1.3.12 beta for Delphi 10.3 Rio available

    Disabling this two options helps, but only after close and restart Rio
  21. dummzeuch

    GExperts 1.3.12 beta for Delphi 10.3 Rio available

    There are two experts that accesses this menu: * Goto Previous Modification * Goto Next Modification Try to turn off these two an see whether this changes anything. Oddly enough, this doesn't happen here, but I have seen that same error message on Friday when I first started to work on GExperts and Rio. It went away later and I never saw it again, no idea what caused it.
  22. PCRE, the regular expression engine used in Delphi has a large number of compile time options only few of which are exposed in the high-level (System.RegularExpressions) or the low-lever (System.RegularExpressionsCore) Delphi interface. For example a useful PCRE option that is not exposed is the PCRE_UCP, which controls the meaning of \w \d etc. When this options is set for example \w matches any Unicode letter or _ character. If it is not set (in Delphi usage) it only matches ascii letter characters. Class helpers can come to the rescue again. uses System.RegularExpressionsAPI, System.RegularExpressionsCore, System.RegularExpressions; type { TPerlRegExHelper } TPerlRegExHelper = class helper for TPerlRegEx procedure SetAdditionalPCREOptions(PCREOptions : Integer); end; procedure TPerlRegExHelper.SetAdditionalPCREOptions(PCREOptions: Integer); begin with Self do FPCREOptions := FPCREOptions or PCREOptions; end; type { TRegExHelper } TRegExHelper = record helper for TRegEx public procedure Study; procedure SetAdditionalPCREOptions(PCREOptions : Integer); end; procedure TRegExHelper.Study; begin with Self do FRegEx.Study; end; procedure TRegExHelper.SetAdditionalPCREOptions(PCREOptions: Integer); begin with Self do FRegEx.SetAdditionalPCREOptions(PCREOptions); end; Example usage: Var RE : TRegEx; Match : TMatch; begin RE.Create('\w+'); RE.SetAdditionalPCREOptions(PCRE_UCP); // No match without this Match := RE.Match('汉堡包/漢堡包'); if Match.Success then ShowMessage(Match.Groups[0].Value);
  23. Dave Nottage

    Codex 1.1.0 released

    With the release of RAD Studio 10.3 Rio comes the release of Codex 1.1.0: https://www.delphiworlds.com/codex/ Which reminds me: I need to add version history 🙂 Coming soon...
  24. … but I am working on it. I have already installed the new version and it compiles on my machine. But don’t hold your breath, there are some issues. Until then you can always download the sources and compile your own DLL. https://blog.dummzeuch.de/2018/11/22/before-you-ask-gexperts-for-delphi-10-3-is-not-ready/
  25. Quite a few years ago, Jack Crenshaw wrote a series of articles on how to build a simple compiler. He wrote in TP, and develops the whole thing step by step. It is a recursive descent compiler, and originally emitted assembly code for a Motorola 68000. The articles have been further developed over the years, and the target altered to the 80x86. The value is simply that he wrote this for people who are not writing a compiler professionally, but who wish to learn the mechanics of compiling code. The writing is clear, and the whole development easy to follow. The articles can be found here: http://www.pp4s.co.uk/main/tu-trans-comp-jc-intro.html
×