The code below should work but I get an AV when the program calls `Bar.Free`.
Do you know why?
Lazarus 1.8.1 r57299 FPC 3.0.4 i386-win32-win32/win64
===begin===
program Project1;
uses
SysUtils;
type
IBar = interface
['{C22FB8F4-1EC6-42C4-81E4-F2A52CC52258}']
function Name: string;
end;
TBar = class(TInterfacedObject, IBar)
public
function Name: string;
end;{ TBar }
function TBar.Name: string;
begin
Result := ClassName;
end;
var
Bar: TBar;
begin
Bar := TBar.Create;
try
if Supports(Bar, IBar) then
Writeln('Bar supports...');
finally
Bar.Free;
end;
end.
===end===Regards,
Marcos Douglas
