Jump to content

Uwe Raabe

Members
  • Content Count

    2750
  • Joined

  • Last visited

  • Days Won

    162

Everything posted by Uwe Raabe

  1. AFAIK, italic is already used for Files implicitly opened while debugging. These files are automatically closed when the debugging ends as long as the corresponding option is set (see Debugger Options -> Auto close views after debugging), but the state can be changed in the context menu. So, I'd also opt for something configurable instead of hardcoding.
  2. Uwe Raabe

    Bookmarks info

    MMX makes use of the IDE internal bookmark system, but it doesn't provide any further functionality. It only sets some bookmarks for special editing positions. These can be configured as well as disabled.
  3. Uwe Raabe

    TTreeView and CustomDraw

    Could it be related to the VCL style the IDE is using? BTW, you can change the color used for the item background in the BeforeItemErase event.
  4. The problem is that TBlahFrame is only a declaration of a TFrame descendant and not a designable TFrame. This way the IDE cannot detect that TFrame1 has to be treated as TFrame by the designer. You either need to make TBlahFrame a proper TFrame with a dfm and the corresponding entries in the dpr and dproj, or you declare an alias for TBlahFrame with the name TFrame and use that as the parent class for TFrame1. TBlahFrame = class(TFrame, IBlah) procedure Foo; virtual; abstract; end; TBlahFrameClass = class of TBlahFrame; type TFrame = TBlahFrame; uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, intf; type TFrame1 = class(TFrame) private
  5. Can you check the dproj file for the <DCCReference entry for the frame file? It should have a DesignClass sub node with TFrame content like this: <DCCReference Include="Common\RCustomPalette.pas"> <Form>FrCustomPalette</Form> <FormType>dfm</FormType> <DesignClass>TFrame</DesignClass> </DCCReference> Also in the dpr file, the uses reference should also have a TFrame signature like this: RCustomPalette in 'Common\RCustomPalette.pas' {FrCustomPalette: TFrame}, If it has not, you should fix that manually and save the project.
  6. Because aDialog is not assigned when an exception is raised inside TMyDialog.Create. That causes Free called for an uninitialized variable inside the finally block. A workaround would be to set aDialog to nil before the try, but the cleaner way is to move the Create outside the try-finally.
  7. Uwe Raabe

    Delphi 12.2 Patch 1

    TMS usually compiles its packages during installation. If that happened after the update to 12.2, these packages are incompatible with 12.2 Patch 1. In case these packages were installed (and compiled) with 12.1 or 12.0 they should work with 12.2 Patch 1, too.
  8. Uwe Raabe

    Delphi 12.2 Patch 1

    You can test this by doing a fresh install in a vanilla VM. Nevertheless that is an interesting question. Usually patches seemed to be free for existing installations, but as this is an inline release you might be right.
  9. Uwe Raabe

    Delphi 12.2 available for download

    MMX V15.1.11 works in all Delphi 12 versions, but V15.1.12 was compiled with Delphi 12.2 (without Patch 1) and thus suffers from this problem.
  10. Uwe Raabe

    Delphi 12.2 Patch 1

    A suitable version for MMX is available now.
  11. Uwe Raabe

    Delphi 12.2 available for download

    A suitable version for MMX is available now.
  12. Uwe Raabe

    Delphi 12.2 Patch 1

    It is quite a number while most of us expected a fix for RSS-1944 only.
  13. Uwe Raabe

    creating a frame at runtime

    It is even possible at design time. Setting an empty name to a component will remove the corresponding field in the class. It is often used with TLabel instances that only exist to display some static text, but won't be accessed in the code. It reduces code cluttering a bit.
  14. Uwe Raabe

    x32->x64

    Make sure you have version info enabled for the x64 platform. There may be different settings for each platform.
  15. It may help to select a Layout different from <None>.
  16. Even that can be handled with initially wiring FormFirstShow with OnShow and inside wiring the regular FormShow. Not that I am actually promoting this approach, but I am neither a friend of these Run-Once-Booleans cluttering a class declaration.
  17. Uwe Raabe

    Easy Sqlite3 Binary Static Linking

    There are several SQLiteWrapper units supporting different libraries and linkage: FireDAC.Phys.SQLiteWrapperStat.pas, FireDAC.Phys.SQLiteWrapper.FDEStat.pas and FireDAC.Phys.SQLiteWrapper.SEEStat.pas, while dynamic linking is implemented in FireDAC.Phys.SQLiteWrapper.pas as default. There is also a way to select the required one: Drop a TFDPhysSQLiteDriverLink onto your main form or data module and set its EngineLinkage property to your needs. This even allows to switch linkage at runtime.
  18. But the OnShow event is called before the position and size of the form are set. Thus OnResize is called after OnShow.
  19. Can you be more explicit, what these some things may be?
  20. Uwe Raabe

    Old Window border style on Delphi MDI child form

    Well, no official announcement from MS, if you are looking for something like this. The source is the shear lack of proper support in Windows itself. One can talk and write a lot or not - in the end it is facts that count.
  21. Uwe Raabe

    Old Window border style on Delphi MDI child form

    Windows 10 doesn't support MDI child forms with Windows 10 style. Microsoft deprecated MDI since about XP and proper support for newer features will probably never be done for MDI windows. See also: MDI window title in Windows 10
  22. Uwe Raabe

    Uses units qualifiers?

    Even then this can be wrapped in a separate procedure (or whatever it is) with a non-colliding name published at a suitable location. When multiple occurrences have to be dealt with, the effort is merely the same with the benefit of better readability. type TWinBitmap = Winapi.Windows.TBitmap; procedure SysAbort; inline; begin System.SysUtils.Abort; end;
  23. Uwe Raabe

    Problem with Reverse Assignment and comments

    Indeed, it has. It is just not supported, as well as a couple of other scenarios. It is supposed to work when the assignment is isolated on that line. I have added a feature request. While the official way would be to mail to support@mmx-delphi.de, this place is also OK. It has the advantage that it is public and others can join the discussion.
  24. Uwe Raabe

    Code signing in a remotely working team?

    Indeed. Actually having multiple developers building the same project can be the trickier part when it comes to shared resources. Of course it may need some investment first - that is money as well as time - to get it working properly.
  25. Usually MMX avoids to duplicate functionality already available in the IDE. In most of the cases where it does, it is probably the IDE implementing a similar feature recently (f.i. Extract method). If you feel MMX needs too much time to parse the unit after changes not made by itself, you might try to reduce the Delay times in the General -> Synchronization options of MMX. The defaults were made for hardware standards now pretty much outdated.
×