Re: [Lazarus] (Local) variable value hints
On 07/06/2017 14:42, Mark Morgan Lloyd via Lazarus wrote: Yes, but I was thinking about the case when a value pops up unbidden during normal stepping-through. Can the default witching format be changed? Hex might be more appropriate. Generally yes, but depends how... A simple integer could (in the hint) be shown in dec and hex. (the hint has plenty of space for an integer.) But in other windows that may not be wanted. The column of the watch window has less space, so showing both (without the user requesting) may be too much. The hint is interactive, so there could be options added to the hint, and the hint could remember (based on type, type and name, or type/name/context). That is if someone wants to implement it. -- ___ Lazarus mailing list Lazarus@lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus
Re: [Lazarus] (Local) variable value hints
On 06/06/2017 20:54, Mark Morgan Lloyd via Lazarus wrote: Bearing in mind things like the %H hint that Lazarus uses to suppress warning messages, is there anything comparable that can be applied to a variable so that when the IDE pops up a value during debugging it will always be shown in a certain format? .. end else begin euCount := cardEsu; euVector := sysEuVector <=== THIS ONLY MEANINGFUL AS HEX OR BINARY end; Assert(euCount * euVector > 0, 'Bad EU count or vector'); The easiest way is to use the watch window. Watches can IIRC be configured via their properties. -- ___ Lazarus mailing list Lazarus@lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus
Re: [Lazarus] (Local) variable value hints
> So does that mean that the IDE has to be tailored for a specific project? Yes. Install a custom package to extend the IDE. Ondrej -- ___ Lazarus mailing list Lazarus@lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus
Re: [Lazarus] (Local) variable value hints
On 06/06/17 20:00, Ondrej Pokorny via Lazarus wrote: On 06.06.2017 21:54, Mark Morgan Lloyd via Lazarus wrote:> Bearing in mind things like the %H hint that Lazarus uses to suppress > warning messages, is there anything comparable that can be applied to > a variable so that when the IDE pops up a value during debugging it > will always be shown in a certain format?>> ..> end else begin> euCount := cardEsu;> euVector := sysEuVector <=== THIS ONLY MEANINGFUL AS HEX OR BINARY You can define your own value formatter with TBaseDebugManagerIntf.RegisterValueFormatter But: it works on a type-basis and not variable name basis. So define a specific type euVector: TeuVector = type Integer; // or type whatever and then register it with RegisterValueFormatter(skSimple, 'TeuVector', @MyFormatFunction); See how TDateTime is handled in ide/debugmanager.pas So does that mean that the IDE has to be tailored for a specific project? -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] -- ___ Lazarus mailing list Lazarus@lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus
Re: [Lazarus] (Local) variable value hints
On 06.06.2017 21:54, Mark Morgan Lloyd via Lazarus wrote: Bearing in mind things like the %H hint that Lazarus uses to suppress warning messages, is there anything comparable that can be applied to a variable so that when the IDE pops up a value during debugging it will always be shown in a certain format? .. end else begin euCount := cardEsu; euVector := sysEuVector <=== THIS ONLY MEANINGFUL AS HEX OR BINARY You can define your own value formatter with TBaseDebugManagerIntf.RegisterValueFormatter But: it works on a type-basis and not variable name basis. So define a specific type euVector: TeuVector = type Integer; // or type whatever and then register it with RegisterValueFormatter(skSimple, 'TeuVector', @MyFormatFunction); See how TDateTime is handled in ide/debugmanager.pas Ondrej -- ___ Lazarus mailing list Lazarus@lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus