Jump to content

David Hoyle

Members
  • Content Count

    183
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by David Hoyle

  1. David Hoyle

    GExperts for Delphi 10.4.1

    It seems there has been a change in the dockable forms inside the IDE between 10.4.0 and 10.4.1. I've had to recompile the 2 plug-ins of mine with dockable forms to stop them AV the IDE when desktops are loaded and saved or dockable forms are displayed undocked. I've added information to https://quality.embarcadero.com/browse/RSP-30777.
  2. David Hoyle

    Delete FastMM4 MemoryManager_EventLog.txt

    This can be changed via the FastMM4Options.inc file if I remember correctly (sorry not a a development machine to be more precise) and possible with directives defined in the project. The settings is {.$define ClearLogFileOnStartup} looked up the inc file on GitHub.
  3. I assume that manually dropping a TLabel onto the component works? Do you have a test case project that shows this error so we can debug and investigate?
  4. Unfortunately Windows 10 does not honour the changed window colour after a hibernation and I had to set it by hacking the registry..
  5. David Hoyle

    Crash when Delphi 10.n exits... again

    I've had an email from Roman this morning and he is already looking at the issue.
  6. David Hoyle

    Crash when Delphi 10.n exits... again

    I do not have GExperts installed (yet) but I do have a number of my own plug-ins installed none of which have crash the IDE since I started using 10.4.
  7. David Hoyle

    Crash when Delphi 10.n exits... again

    I've just installed FixInsight and it crashes the IDE on close down. Stack trace below (from another instance of the IDE). :1d8872cd ; D:\Documents\RAD Studio\Binaries\FixInsight\FixInsight.Parser.dll :1d8875af ; D:\Documents\RAD Studio\Binaries\FixInsight\FixInsight.Parser.dll :1d8afb07 ; D:\Documents\RAD Studio\Binaries\FixInsight\FixInsight.Parser.dll :1e6c524f ; D:\Documents\RAD Studio\Binaries\FixInsight\FixInsight_10_4.bpl RTL.System.TInterfacedObject._Release RTL.System._IntfClear(???) :500683eb @IntfClear + $13 RTL.System._FinalizeRecord($1BB58B98,???) RTL.System._FinalizeArray($1BB58B98,$20867028,1) RTL.System._Dispose(???,???) I'll report this later on tonight - need food first.
  8. David Hoyle

    wuppdi Welcome Page for Delphi 10.4?

    Thanks @Uwe Raabe.
  9. David Hoyle

    wuppdi Welcome Page for Delphi 10.4?

    Daniel posted an update yesterday. https://www.danielwolf.eu/blog/2015/1668-meine-vorstellung-einer-willkommens-seite The only issue I'm seeing is that there is no split panel view as there was before to open / organise the lists. @Daniel has this behaviour changed?
  10. David Hoyle

    ToolsApi: key boardbindings in the form editor

    Its a little difficult to answer, not knowing what you are trying to achieve but editor key bindings do have limitations. There is nothing obvious in the OTA that suggests why it doesn't work for DFM (code) however an alternative would be to install an action in the IDE and handle it from there. You could also use the INTAEditServicesNotifier.WindowComand() to see if the keyboard binding is received by the DFM code editor. Just think while rereading your message, are you referring to the form designer? If so, it's not a code editor and so will not react to key bindings so you would need to use actions.
  11. David Hoyle

    Feature: ParentFont? Yes, but...

    Uwe, I have the same issue with one of my application. The app allows the user to adjust the main font by a few points (so old people like me can read the text) but the down side is as you describe: either loose style and colour changes or do extra work. So I would vote yes for some change to the style elements similar to below TStyleElements = set of (seFont, seFontName, seFontSize, seFontStyle, seFontColour, seClient, seBorder)
  12. David Hoyle

    Anything sensible for source code documentation?

    If there's an action in the IDE you could try and use GExperts to bind a keyboard shortcut.
  13. David Hoyle

    Problem reinstalling CodeSite 5

    Re: Circular reference, I don't think so. You are specifying a PATH variable for your account (user account), rather than the machine, so you are inheriting the path picked up by the IDE (from the shell) and then appending to it. Its just the same as starting a comment prompt and doing SET PATH=%PATH%;D:\Path\ to add a new temporary directory to the path.
  14. David Hoyle

    Problem reinstalling CodeSite 5

    I think you will need to add the installations Win32 directory to your path. I did this in the IDE (see below):
  15. David Hoyle

    Where do I declare a function inline ?

    I generally put these kind of functions in a record to group them and only put the inline directive in the interface however I do place a {$IFNDEF DEBUG} around the inline directive as I’ve found that I could not step through the methods while debugging. I know you need to keep the GExperts code backwards compatible so the record group is just a nice to have thing.
  16. David Hoyle

    How to close Messages window automatically

    Yes, should be, I just haven't got around to updating as I don't need to use it any more with large monitors. You will need to create a Rio project (copy and paste) update the the CompilerDefinitions.inc file with Rio compiler information.
  17. David Hoyle

    How to close Messages window automatically

    I'm not aware of an option to do this as I had to write an OTA plug-in to achieve this a number of years ago. Was this functionality part of a plug-in you haven't installed after rebuilding?
  18. David Hoyle

    GExperts and virus scanners

    Norton have reported back to me that this is a false positive and they will remove the detection from their signatures.
  19. David Hoyle

    GExperts and virus scanners

    Thomas, I've submitted a False Positive to Norton so hopefully that will help in a day or two.
  20. David Hoyle

    GExperts and virus scanners

    Thomas, After reading this (and installing GExperts yesterday) Norton decided to remove the setup programme from my backups (currently being written) a few minutes ago. Its a generic trojan signature from 2014 (see link below). Are you using an old installer, say an INNO Setup from a few years ago (not saying there is anything wrong with INNOSetup as I use it myself) as I've had issues with Norton and INNOSetups for my application in recent months and I've had to submit false positives to prevent the removals? https://www.symantec.com/security-center/writeup/2014-042811-4408-99?ssdcat=118&vid=42878&product=Norton+Internet+Security&version=22.19.8.65&plang=sym%3aEN&layouttype=Retail&buildname=Retail&heartbeatID=858F9723-5766-47AE-B1EA-A12BC01D7C8D&eapenabled=false&env=prod&vendorid=1000&plid=2&plgid=2&skup=20991804&skum=21376863&skuf=20985775&endpointid=858F9723-5766-47AE-B1EA-A12BC01D7C8D&partnerid=1000&lic_type=2&lic_attr=17059858&psn=DPR7Y49F6VQ9&puid=5039&templatecat=SBU_W_1000_5039_NIS_Retail_2&schemacat=SBU_W&schemaver=1.0.0.0&olpchannel=RETAIL&osvers=10.0&oslocale=iso%3aGBR&oslang=iso%3aENG&os=windows
  21. Have you just updated from a previous version and "Kept" you registry settings? I've just done this on Sunday with the Web Installer and has a similar issue as the Web Installer uninstalled any packages it has downloaded (Navigator, Bookmarks, etc.). I had to use a clean registry (BDS.exe -rClean) to get GetIT to re-install the missing plug-ins / components.
  22. David Hoyle

    Modern C++ and Delphi

    In-line variables work in Delphi except for a few corner cases where you have to define the type as well as the assignment (think creating interfaced objects), its the IDE's Error Insight, Code Completion, etc that don't understand them and can make life difficult.
  23. I wonder if anyone can either confirm I'm not going insane and this is a bug I need to report or tell me what I'm doing wrong. Eurekalog has found a bug in my application and I've managed to decant it down to the following code - it takes a pair of integers and sorts them by the FPosition field (code to get the display order of a VirtualStringTree). The commented out line in Test() should not be required in my mind as the IComparer interface should be released when it goes out of scope at the end of the Test() function but it doesn't for me (I'm using 10.3.2). Program ComparerFreeing; {$APPTYPE CONSOLE} {$R *.res} Uses System.SysUtils, System.Generics.Collections, System.Generics.Defaults; Type TXTColumnPosition = Record FIndex, FPosition : Integer; End; TXTColumnPositionComparer = Class(TInterfacedObject, IComparer<TXTColumnPosition>) Public Constructor Create; Destructor Destroy; Override; Function Compare(Const Left, Right : TXTColumnPosition) : Integer; End; Function TXTColumnPositionComparer.Compare(Const Left, Right: TXTColumnPosition): Integer; Begin Result := Left.FPosition - Right.FPosition; End; Constructor TXTColumnPositionComparer.Create; Begin WriteLn('Create'); Inherited; End; Destructor TXTColumnPositionComparer.Destroy; Begin WriteLn('Destroy'); Inherited; End; Function Test : TArray<TXTColumnPosition>; Var Comparer: TXTColumnPositionComparer; Begin SetLength(Result, 5); // Result[0].FIndex := 0; // Result[0].FPosition := 4; // Result[1].FIndex := 1; // Result[1].FPosition := 3; // Result[2].FIndex := 2; // Dummy setup for testing Result[2].FPosition := 2; // Result[3].FIndex := 3; // Result[3].FPosition := 1; // Result[4].FIndex := 5; // Result[4].FPosition := 0; // Comparer := TXTColumnPositionComparer.Create; System.Generics.Collections.TArray.Sort<TXTColumnPosition>(Result, Comparer); //: @debug Comparer.DisposeOf; // Required to release the interface End; Var aInts : TArray<TXTColumnPosition>; i : Integer; Begin Try aInts := Test; For i := Low(aInts) To High(aInts) Do WriteLn(aInts[i].FIndex, ' => ', aInts[i].FPosition); ReadLn; Except On E: Exception Do Writeln(E.ClassName, ': ', E.Message); End; End. I get the following output from the above... Create 5 => 0 3 => 1 2 => 2 1 => 3 0 => 4 i.e. Destroy is not called.
  24. David Hoyle

    IComparer Interface not being released

    Thank you @David Heffernan and @Dalija Prasnikar.
  25. David Hoyle

    IComparer Interface not being released

    Thank's Stefan. Originally I had the following... System.Generics.Collections.TArray.Sort<TXTColumnPosition>(Result, TXTColumnPositionComparer.Create); and that would release. I changed it while trying to find out why. I'll change it as you suggest (I should have noticed that) and see if it works.
×