-
Content Count
2750 -
Joined
-
Last visited
-
Days Won
162
Everything posted by Uwe Raabe
-
Suggestions for improving the display of tabs in the SourceCode editor
Uwe Raabe replied to PeterPanettone's topic in Delphi IDE and APIs
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. -
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.
-
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.
-
Frame being converted to Form when using a subclass of TFrame
Uwe Raabe replied to ryan_o's topic in VCL
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 -
Frame being converted to Form when using a subclass of TFrame
Uwe Raabe replied to ryan_o's topic in VCL
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. -
aDialog created inside a Try/Finally, bad practise?
Uwe Raabe replied to Skrim's topic in General Help
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. -
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.
-
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.
-
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.
-
A suitable version for MMX is available now.
-
A suitable version for MMX is available now.
-
It is quite a number while most of us expected a fix for RSS-1944 only.
-
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.
-
Make sure you have version info enabled for the x64 platform. There may be different settings for each platform.
-
My Delphi 12 screen has shrunk to just the top bar
Uwe Raabe replied to Fudley's topic in Delphi IDE and APIs
It may help to select a Layout different from <None>. -
Does the main form's OnShow event only ever fire once?
Uwe Raabe replied to Gord P's topic in General Help
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. -
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.
-
Does the main form's OnShow event only ever fire once?
Uwe Raabe replied to Gord P's topic in General Help
But the OnShow event is called before the position and size of the form are set. Thus OnResize is called after OnShow. -
Does the main form's OnShow event only ever fire once?
Uwe Raabe replied to Gord P's topic in General Help
Can you be more explicit, what these some things may be? -
Old Window border style on Delphi MDI child form
Uwe Raabe replied to Clayton A. Alves's topic in VCL
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. -
Old Window border style on Delphi MDI child form
Uwe Raabe replied to Clayton A. Alves's topic in VCL
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 -
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;
-
Problem with Reverse Assignment and comments
Uwe Raabe replied to Davide Angeli's topic in MMX Code Explorer
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. -
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.
-
"Complete Class at Cursor" (Ctrl+Shift+C) equivalent in MMX
Uwe Raabe replied to havrlisan's topic in MMX Code Explorer
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.