[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