Jump to content

Alexander Elagin

  • Content Count

  • Joined

  • Last visited

  • Days Won


Alexander Elagin last won the day on January 25

Alexander Elagin had the most liked content!

Community Reputation

22 Excellent

1 Follower

About Alexander Elagin

  • Birthday September 20

Technical Information

  • Delphi-Version
    Delphi 10.1 Berlin

Recent Profile Visitors

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

  1. Alexander Elagin

    Version Control System

    I prefer Subversion as it is very easy to use (with TortoiseSVN) and easy to manage in closed environment with its centralized repository storage. Git has its nice features but they are not for everyone, and its distributed nature complicates things. Anyway, here is a very good tutorial how to install a Git server to play with, maybe it can help to make the right choice. TortoiseGIT client is also available.
  2. Alexander Elagin

    Rio quality disappoint

    Finally the Quality Central issues statuses begin to update. And what do you think? RSP-21645 (Editor tabs do not show icons) - closed. Resolution: Works As Expected 🙁 . Really, that is how they at Embarcadero see it. RSP-21636 (Active editor tab is not highlighted when IDE theming is disabled) - closed. Resolution: Won't Fix. Given this stupid attitude (and obvious intentions to further force the themed IDE despite all its glitches) I highly doubt that I'll renew my subscription when it expires this March. I thank David Millington for personally contacting me but I do not want to further waste my hard earned money for another round of cosmetic IDE changes instead of bug fixing.
  3. Alexander Elagin

    How to create common CreateForm method?

    Have you seen the smile in my comment? I'd never use such design myself (for modal forms I use class functions, non-modal always have their own local variables). This was just an in-situ snippet to show how to use TFormClass and polymorphism in action based on the originally posted code.
  4. Alexander Elagin

    How to create common CreateForm method?

    Maybe something like this? procedure AccessForm(var aForm: TForm; aClass: TFormClass; aModal: Boolean); begin if not Assigned(aForm) then aForm := aClass.Create(Application); Assert(Assigned(aForm)); // just in case :-) if aModal then aForm.ShowModal else aForm.Show; end; ..... AccessForm(Form2, TForm2, True); ....
  5. Alexander Elagin

    Delphi, be better!

    There are at least three large components: compiler(s), RTL / component libs and IDE. Having very limited resources (as I guess) one has to concentrate on something to achieve at least visible progress in one of the components. A large group of Delphi users obviously desperately waits for compiler (language/codegen) improvements and additional platforms support. Instead we see tweaking the IDE introducing a lot of glitches/bugs/name it yourself which are obvious even after ten minutes of active usage. Was there any reason to rebuild the Options dialog probably from scratch paying no attention to bottom alignment? Or SDK manager where I could not do anything until I resized the window and saw that there are indeed buttons, invisible at first look? Component toolbar options page has fixed height - why? Every other Delphi version had it adapt to the window height. In previous versions dialogs were carefully aligned, with necessary anchors set. Now it seems that somebody had just quickly thrown a bunch of controls on the form giving no attention to how it would look in reality, and more - nobody bothered to check the result. Toolbars sometimes start to jump around by themselves - I never saw this in any other Delphi version. And so on... I do not doubt that a lot of efforts was put in development, but it looks like they were mostly wasted reinventing the wheel (i.e. modifying IDE breaking it functionality) instead of focusing on, say, compiler. This is a question of targeting the right aim. Or we are starting to see the result of outsourcing the development (when was the core Delphi R&D team fired? A year or two ago?)
  6. Honestly, I specially started 10.3 to check - there is no rectangle, only the crescent (at least in the unthemed IDE). But I clearly see a "Save current desktop" button.
  7. And who on Earth can guess that a crescent moon icon means "Save Desktop"?
  8. Alexander Elagin

    Delphi, be better!

    That is why I played with 10.3 a few days and reverted to 10.1. It is not perfect but at least event log (broken since 10.2) and options dialogs (reworked in 10.3 for unknown reason without any testing for alignment, it seems) work like they should. And don't get me started on themed/unthemed bugs which are uncountable... I feel the 10.3 quality is on the level of Delphi 4 or 2005 - the buggiest releases so far.
  9. Maybe this can help (not tested): Copy Winapi.Windows.pas to the project source directory and comment out lines 8498-8501 and 38322 (or wherever GetProductInfo is defined/declared), then recompile the project. Probably just adding 'delayed' could help, too, like this: function GetProductInfo; external kernel32 name 'GetProductInfo' delayed; Try it, at least a negative result could be useful. I could not locate any other file in the source directory where GetProductInfo is called.
  10. Alexander Elagin

    CE Tokyo and Rio and FastReport.

    You can try to get FastReport CE directly from FastReport: https://www.fast-report.com/en/fastreport-embarcadero-edition/ While I don't see 10.3 in the supported versions list, I hope that this version is already available. I use the paid FastReport 6 VCL, which supports 10.3 starting from release 6.2.10.
  11. Alexander Elagin

    Feature request for Source Indexer

    There is a setting which controls the docking behaviour in Options - Environment Options menu, named "Docking" 🙂 I usually switch off Auto Drag Docking - in this configuration one has to explicitly hold Control key down while dragging a window to make it dockable, otherwise the window is just moved around remaining floating.
  12. Agreed. A simple loop might be faster than building complex index structures.
  13. This is obviously a range searching task (https://en.wikipedia.org/wiki/Range_searching) . I'd probably start with something like range tree (https://stackoverflow.com/questions/31121628/finding-all-points-in-certain-radius-of-another-point). Probably a google search like this https://www.google.com/search?q=find+points+in+radius&ie=utf-8&oe=utf-8 will give more hints.
  14. Alexander Elagin

    Releasing memory devoted to arrays

    What if those fields (TField instances) belong to some already destroyed component? Then the FieldByName references may point to some garbage. Or there are simply no fields with such names, then FieldByName returns nil and AsFloat produces an AV. Just guessing.
  15. Alexander Elagin

    Where did the Step Out button in the toolbar go in 10.3?

    It is in the "Run" category: