Trevor S
Members-
Content Count
9 -
Joined
-
Last visited
Everything posted by Trevor S
-
The 64bit path issue is listed in the "Known Issues" section of the installation notes. http://docwiki.embarcadero.com/RADStudio/Sydney/en/Installation_Notes#Known_Installation_Issues Sorry, too late for you now...
-
The work around looks like it has done the trick. I have tried to replicate the original problem in 10.3.3 and 10.41, both appear to operate fine now... no more blank screen. Thanks heaps.
-
Thanks Thomas. The screen looks much better when docked. But, unfortunately, your changes have not resolved the issue with the blank screen. After playing around trying to replicate the problem, I discovered that the problem happens when the Desktop Layout is saved when the Grep Results form is not Visible. When the Desktop layout is saved with the Grep Form is visible, then the blank screen no longer occurs. Revised steps to replicate: Close Grep Results screen (if open) Save the IDE Desktop, Open Grep Results Window With Grep Search Results Displayed (floating), Select an Project Group from the Open command on the toolbar. > The Grep Results screen disappears when the Project group opens. Select Grep Search Results from the GExperts Menu or Toolbar button >>> The Blank Grep Results screen displays .... After playing around further, saving and switching desktops as well as changing the default desktop, it now works fine when even with a desktop saved with closed results window.... So I wouldn't be surprised if these new replication steps still don't work for you.
-
My Grep Results dialog is undocked. I tried the same scenario using Dark theme, Light theme and with themes disabled in the registry. All resulting in the empty screen issue. I also got the empty screen when opening single Projects (rather than project group). If I dock the Grep Results, then open a Project, the Grep results displays correctly (so the floating dialog seems to be significant). Docking the Grep Results screen causes some of the controls on the dialog to adopt the theme, with the painting of some controls partially applying the theme. I'm not sure whether this is the same behavior you are seeing. The partial theme remains after undocking. Not surprising as GExperts was not implemented for themes.
-
I have been seeing this happening occasionally for some time now in 10.3.3. I am using a self compiled GExpertsRS103.dll version 1.3.14.80 from around 23 October 2019. It just happened again now, and I have been able to replicate the problem by opening another Project Group when the Grep Results is displayed. Steps... Perform Grep Search With Grep Search Results Displayed (floating), Select an Project Group from the Open command on the toolbar. > The Grep Results screen disappears when the Project group opens. Select Grep Search Results from the GExperts Menu or Toolbar button >>> The Blank Grep Results screen displays HTH
-
Can anyone shed light on why the a TList<> (Generics) containing Interfaced or other managed type does not de-reference the items when the list is destroyed. You must explicitly call the Clear method on list before freeing in order to prevent memory leaks. I would expect that simply calling Free on the list should de-reference the items before destroying the list. Any ideas as to whether or not this behavior is intentional? program Test.TList.Disposal; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, Generics.Collections; type IItem = Interface ['{9BA33670-15FF-4169-9CBD-626857A3E47F}'] End; TItem = Class( TInterfacedObject, IItem) public constructor Create; destructor Destroy; override; End; TItemList = Class( TList<IItem>); constructor TItem.Create; begin inherited Create; Writeln( 'Item Created'); end; destructor TItem.Destroy; begin Writeln( 'Item Destroyed'); inherited; end; procedure TestDestroyOnly; var List: TItemList; begin Writeln( 'Start Test - Destroy Only'); List := TItemList.Create; try List.Add( TItem.Create as IItem); finally List.Free; end; Writeln( 'End Test - Destroy Only'); end; procedure TestWithExplicitClear; var List: TItemList; begin Writeln( 'Start Test - Explicit Clear'); List := TItemList.Create; try List.Add( TItem.Create as IItem); List.Clear; finally List.Free; end; Writeln( 'End Test - Explicit Clear'); end; begin try TestDestroyOnly; TestWithExplicitClear; Readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.
-
Destroying TList with Managed Types
Trevor S replied to Trevor S's topic in RTL and Delphi Object Pascal
Forget it, I just realised that it does finally release the Items at the end of the method rather that in the list destruction, where as List.Clear releases the items immediately in the Clear method -
looking for design ideas for an easily editable list
Trevor S replied to David Schwartz's topic in VCL
I suggest considering the TVirtualTreeview control https://www.jam-software.com/virtual-treeview/ It can be configured to behave like a Listbox or checklistbox and supports inline editing of the text. -
For Paradox, the dbiSaveChanges() BDE API function in the dbiprocs unit should be called after posting any records to the database. The function takes the Table.Handle as the only parameter. Calling this function ensures that the records are fully committed to the database file. In my experience, it eliminated the Index out of date and Blob mismatch errors. If you are not using it already, it may be worth a try.