#1 2013-02-22 15:40:12

corchi72
Member
Registered: 2010-12-10
Posts: 232

Error 'Invalid fake "IRemoteAction.Execute" interface call: : '.??????

Why after 10 seconds this error occurs while the server is working?
First chance exception at $7566C41F. Exception class EInterfaceFactoryException with message 'Invalid fake IRemoteAction.Execute interface call: : '. Process Project.exe (6020)

Last edited by corchi72 (2013-02-22 15:45:19)

Offline

#2 2013-02-22 20:56:55

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,603
Website

Re: Error 'Invalid fake "IRemoteAction.Execute" interface call: : '.??????

Did you use the latest 1.18 version from http://synopse.info/fossil/wiki?name=Get+the+source ?

There is no message error detail here.
It depends on your server and client code.
Difficult to tell what's wrong, here.

Offline

#3 2013-02-25 10:46:36

corchi72
Member
Registered: 2010-12-10
Posts: 232

Re: Error 'Invalid fake "IRemoteAction.Execute" interface call: : '.??????

"Did you use the latest 1.18 version from http://synopse.info/fossil/wiki?name=Get+the+source ?"

Yes, I use the last versione.

However, It may be helpful, this error that occurs:

First chance exception at $7566C41F. Exception class EInterfaceFactoryException with message
'Invalid fake IRemoteAction.Execute interface call: : {
"ErrorCode":500,
"ErrorText":"Exception EAccessViolation: Access violation at address 0064AFB9 in module 'PrjServer.exe'. Read of address 20202003"
}'.
Process ProjectClient.exe (296)

Tells you something?

I'm trying to use an OCX in the server.
If run the same code with the following statement works

type
  TServiceRemoteAction = class(TInterfacedObject, IRemoteAction)
  protected
    fExecuteAction: TExecuteActions;
  public
    procedure AfterConstruction; override;
    procedure BeforeDestruction; override;
  public // implements IRemoteAction methods
    procedure Connect;
    function Execute(AOwner: TComponent;aID:Integer;Force:Boolean): Boolean;
  end;
.....
function TFileServer.ExecuteOCX(
  var aParams: TSQLRestServerCallBackParams): Integer;
var
 sID:RawUTF8;
 RemoteAction :TServiceRemoteAction;
begin
  UrlDecodeValue (aParams.Parameters,'ID=',sID,@aParams.Parameters);


  try
    RemoteAction := TServiceRemoteAction.Create;
    RemoteAction.Connect;
    RemoteAction.Execute(Strtoint(sID)); // my procedure that open Ocx  create in a TDataModule

  finally
    RemoteAction.Free;

  end;


  result := 200; // success
end;

Offline

#4 2013-02-25 12:20:53

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,603
Website

Re: Error 'Invalid fake "IRemoteAction.Execute" interface call: : '.??????

I suspect the OCX, just like COM objects, shall be initialized for each thread.
Try to use a Synchronize() call to execute the method in the main thread.
Or use an interface-based service, which has the corresponding option built-in.

Offline

Board footer

Powered by FluxBB