[Lazarus-es] Error al compilar Zeos Component

José Mejuto joshyfun en gmail.com
Vie Nov 19 12:26:34 CET 2010


Hello José,

Friday, November 19, 2010, 9:50:14 AM, you wrote:

JAC> Hola, actualicé el Lazarus por svn y ahora al compilar los Zeos me da el
JAC> siguiente error:
JAC> ZClasses.pas(84,22) Error: No matching implementation for interface
JAC> method "IUnknown.QueryInterface(constref TGuid,out <Formal
type>>):LongInt; CDecl;" found
JAC> en el código de la unit ZClasses.pas:
JAC>   TContainedObject = class(TAggregatedObject, IInterface)
JAC>   protected
JAC>     function QueryInterface(const IID: TGUID; out Obj): HResult;
JAC> virtual; stdcall;
JAC>   end;
JAC> La versión de Zeos que uso es la 6.6.6 porque intenté usar la 7.0 y me
JAC> daba problemas con los datasets. ¿ Saben algo sobre lo que está
JAC> pasando ?, es que por el mensaje de error no entiendo muy bien donde
JAC> buscar.

Se ha hecho un cambio en el compilador para que FPC sea compatible
XPCOM, o sea, COM para sistemas no Windows, y creo que ahí hay un
error en la versión windows. La historia es que ahora los "const" para
COM deben de ser "constref" lo que asegura el buen funcionamiento con
XPCOM y Windows.

Mientras averiguo si el problema es un bug o tiene que ser así por
algún motivo puedes compilar el zeos cambiando esta linea de
queryinterface:

function QueryInterface(const IID: TGUID; out Obj): HResult; virtual; stdcall;

por esta otra:

function QueryInterface(constref IID: TGUID; out Obj): HResult; virtual; stdcall;

-- 
Best regards,
 José





More information about the Lazarus-es mailing list