[Lazarus-es] Error al compilar Zeos Component

José Antonio Cuello josea en artextrading.com
Jue Nov 25 11:28:24 CET 2010


Hola, muchas gracias por tu solución (no he podido probarla hasta
ahora). Va genial ... :)
Una cosa como va el tema de avisar para que en futuras versiones de los
Zeos (p.e. la versión 7 que está en Beta) corrijan este detalle. Hay que
estar en la lista inglesa?.

Gracias de nuevo, un saludo.


________________________________________________________________________

ARTEX TRADING S.A.
José Antonio Cuello Principal



El sáb, 20-11-2010 a las 02:11 +0100, José Mejuto escribió:

> Veo que lo estás compilando en Linux, así que has de cambiar también
> los stdcall del IUnknown a CDecl ya que ahora en Linux no usan stdcall
> (de hecho tampoco lo usaba antes, simplemente "pasaba por encima").
> 
> Vamos que debería quedarte algo así:
> 
> {$IFDEF FPC}
> PDateTime = ^TDateTime;
> 
> TAggregatedObject = class(TObject)
> private
>   FController: Pointer;
>   function GetController: IInterface;
> protected
>   function QueryInterface(constref IID: TGUID; out Obj): HResult;
> cdecl;
>   function _AddRef: Integer; cdecl;
>   function _Release: Integer; cdecl;
> public
>   constructor Create(const Controller: IInterface);
>   property Controller: IInterface read GetController;
> end;
> 
> TContainedObject = class(TAggregatedObject, IInterface)
> protected
>   function QueryInterface(constref IID: TGUID; out Obj): HResult;
> virtual; cdecl;
> end;
> {$ENDIF}
> 
> O puedes recrear los ifdefs de freepascal para que se auto-adapte a la
> plataforma:
> 
> IUnknown = interface
>   ['{00000000-0000-0000-C000-000000000046}']
>   function QueryInterface({$IFDEF
> FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} iid : tguid;out obj) :
> longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
>   function _AddRef : longint;{$IFNDEF
> WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
>   function _Release : longint;{$IFNDEF
> WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
> end;
> 
> A este define {$IFDEF FPC_HAS_CONSTREF} no se si tendrás acceso en tu
> unit (la de zeos vamos) :-?
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20101125/6c3b5fda/attachment-0002.html>


More information about the Lazarus-es mailing list