Do you have a small sample app, so I can test?
Here:

program Project1;

{$mode objfpc}{$H+}

uses classes;

type
ITest = interface
end;
TTest = class(TInterfacedObject, ITest)
  a: integer;
end;

var c : TTest;
    i : ITest;
begin
  c := TTest.Create;
  c.a := 42;
  i := c;
  writeln(c.a);
end.


Evaluating "i" only shows <ITEST> = {
<IUNKNOWN> = {},
  }

but what I want to see is something like it prints for "c" (or both together):

<TTEST> = {
<TINTERFACEDOBJECT> = {
<TOBJECT> = {
      _vptr$TOBJECT = $671c10},
    FREFCOUNT = 1,
    REFCOUNT = 1},
  A = 42}


(although I just noticed that ttest((pointer(i)) - 0x20) prints that, but is that reliable?
it will probably break if a class implements multiple interfaces)


Benito



On 10/18/2012 04:17 PM, Martin wrote:
On 18/10/2012 14:23, Benito van der Zander wrote:
Hi,
is there anyway to view the content of an interfaced object with the
Lazarus debugger?

Do you have a small sample app, so I can test?

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to