Re: [Lazarus] (Local) variable value hints

2017-06-07 Thread Martin Frb via Lazarus

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

2017-06-07 Thread Martin Frb via Lazarus

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

2017-06-07 Thread Ondrej Pokorny via Lazarus

> 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

2017-06-07 Thread Mark Morgan Lloyd via Lazarus

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

2017-06-06 Thread Ondrej Pokorny via Lazarus

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