Pas2Js: Issue passing interfaced objects

If you have an object that implements an interface and you pass that object to a method that has a parameter typed with that interface, the method actually receives null for that parameter at runtime which is not what you would expect.
The workaround is to call Supports first and pass the out parameter of Supports to the method.
The Pas2Js version is 3.1.1.

We'll need to reach out to the pas2js team for this. We'll let you know. We suggest to use the workaround for now.

We further tested from here but we couldn't see an issue, for example with this code:
program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

type
  IMyInterface = interface(IInterface)
    ['{A640801F-3395-474C-9C6B-6518F94754E3}']
    procedure Show;
  end;

  TMyObject = class(TInterfacedObject, IMyInterface)
  strict protected
    procedure Show;
  end;

  procedure Test(const AInterface: IMyInterface);
  begin
    AInterface.Show;
  end;

{ TMyObject }

procedure TMyObject.Show;
var
  lTest: Integer;
begin
  lTest := 42;
end;

var
  lObject: TMyObject;
begin
  lObject := TMyObject.Create;
  Test(lObject);
end.

Ok, forget about this issue. My implementation of the object's QueryInterface (which just returned E_NOINTERFACE) was the reason. Should have derived the object class from TInterfacedObject as in your sample.