Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2013-05

Error al compilar ZEOSDBO-6.6.6-stable

14 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Ismael L. Donis Garcia

Cuando intento compilar ZEOSDBO-6.6.6-stable en Lazarus 1.0.9.40892 con FPC 2.6.2 para Windows me sale el siguiente error:

C:\lazarus\components\ZEOSDBO-6.6.6-stable\src\core\ZClasses.pas(84,22) Error: No matching implementation for interface method "IUnknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; StdCall;" found

Me da en la siguiente Linia:

TContainedObject = class(TAggregatedObject, IInterface)

Del archivo ZClasses.pas

La declaraci�n completa es:

  TContainedObject = class(TAggregatedObject, IInterface)
  protected
    function QueryInterface(const IID: TGUID; out Obj): HResult; virtual; stdcall;
  end;

Como podr�a solucionar este problema?

Necesito instalar la versi�n 6 de ZEOSDBO

Desde Ya Gracias
=========
|| ISMAEL ||
=========
Website: www.sisconge.byethost15.com
------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130506/427fb5a0/attachment.html>

Reply by email

Maxi
to José Mejuto

Ismael no puede vavegar por internet. reposteo el contenido

Instalando los componentes

Esta es una parte complicada por lo que debes tener un poco de paciencia y leer este apartado cuidadosamente.

- Comprueba que tienes al menos la versi�n 1.0.4 de Lazarus (diciembre
2012) y al menos la versi�n 7.0.3 estable de ZeosLib.

- Comenzar una instancia de Lazarus.

1. Pulsar en *Paquete/Abrir archivo de paquete (.lpk)* desde el men� principal.
2. Ve a *.\ZEOSDBO-7.0.3-stable\packages\lazarus* y abre *zcomponent.lpk*
3. Presiona *[Compilar]* solamente si no necesitas instalar los componentes en el IDE.
4. Presiona *[Usar >>]* para ver las opciones que ofrece.
5. Selecciona *Agregar al Proyecto* si no quieres a�adirlo al IDE o bien *Instalar* para que se a�ada a la solapa del IDE de Lazaus
6. Pregunta si necesitas recompilar Lazarus, en concreto con el mensaje emergente *El paquete "zcomponent 7.0" se marc� para instalar. Actualmente lazarus solo soporta paquetes enlazados est�ticamente. La instalaci�n completa necesita reconstruir y reiniciar lazarus �Desea reconstruir ahora Lazarus?*

- Responde *[Si]* esta vez.
- Espera a que la compilaci�n termine, la ventana emergente de mensajes nos va mostrando la evoluci�n del proceso, Lazarus deber�a reiniciarse despu�s de esto.
- Si todo est� bien se deber�a ver la solapa *[Zeos Access]* en la paleta de componentes.

[image: Zeos Components.png]<http://wiki.freepascal.org/File:Zeos_Components.png>

Si se presenta el error "Cannot find unit ZClasses" o algo similar, entonces hay que chequear cuidad�samente como est�n escritos los nombres de fichero (en cuanto a may�sculas/min�sculas) en sus ficheros de c�digo fuente.

- Incluso si cuadran exactamente, el paquete autogenerado del fichero fuente puede dar lugar a un tipificado incorrecto (may�sculas/min�sculas) en la cla�sula "uses" (Lazarus 0.9.18), i.e.:

Si lo anterior falla, tal como se explica en el foro de ZeosLib es conveniente ir compilando cada uno de los paquetes siguiendo el siguiente orden:

- 1�. zcore.lpk

- 2�. zparsesql.lpk

- 3�. zplain.lpk

- 4�. zdbc.lpk

- 5�. zcomponent.lpk

Si el resultado de la compilaci�n individual de todos es correcto, entonces ya estar�amos en condiciones de escoger el paquete Zcomponent y con la opci�n de *Usar >>>* y a continuaci�n *Instalar* tenerlo en nuestro IDE como una solapa m�s de componentes visuales.

{ Este fichero ha sido generado autom�ticamente por Lazarus. �No se debe editar!
Esta fuente solo se utiliza para compilar e instalar el paquete. }

  unit Zcore;
  interface
  uses
    Zclasses, Zcollections, Zcompatibility, Zexprparser, Zexprtoken,

Zexpression,
Zfunctions, Zmatchpattern, Zmessages, Zsysutils, Ztokenizer, Zvariables,

    Zvariant;
  implementation
  end.

- F�jate que Lazarus ha renombrado la unit ZClasses como Zclasses, dando lugar a un conflicto de nombres. Presumiblemente este es un error en Lazarus, no de los paquetes Zeos. Un camino a seguir para solucionarlo es renombrar todos los ficheros fuente de Zeos a min�sculas. Accede a cada subdirectorio bajo src/ y ejecuta este mandato en una ventana de bash (shell) de windows:

rename -v 'y/A-Z/a-z/' *

- Entonces, en Lazarus, reabre el paquete (.lpk) y corrige el nombre de fichero (may�sculas/min�sculas) seleccionando en "More..."/"Fix Files Case"
- El paquete deber�a poderse compilar entonces.

Comentarios

En el momento actual Zeos CVS para Lazarus tiene paquetes rotos. Algunos comentarios de IgD:

Utilizando una instalaci�n limpia de Lazarus 0.9.12 (�ltima versi�n estable) fu� capaz de instalar ZeosLib (13 Octubre 2005). Primero corrige los siguientes errores en ZeosLib:

- 1. Cambia ZplainPostgreSql81.pas a ZPlainPostgresSql8x.pas en zplain.lpk

<Item22>
<Filename Value="../../src/plain/ZPlainPostgreSql81.pas"/> <UnitName Value="ZPlainPostgreSql8x"/>
</Item22>

- 2. Fix the following typos in zdbc.lpk:

a. Remove extra "/" from "build/" (remove the one that is inside the quotes)

<SearchPaths>
<OtherUnitFiles Value="../../src/dbc/"/>
<UnitOutputDirectory Value="build/"/>
</SearchPaths>

b. Add missing quote to unitname value

<Item43>
<Filename Value="../../src/dbc/ZDbcASA.pas"/>
<UnitName Value="ZDbcASA/>
</Item43>

Ahora, aqu� est�n las instrucciones de instalaci�n:

Antes de la versi�n 0.9.13 de Lazarus era necesario abrir cada uno de los paquetes de Zeos a trav�s de Paquetes/Abrir Paquete en el siguiente orden:

1. zcore.lpk
2. zparsesql.lpk
3. zplain.lpk
4. zdbc.lpk

Entonces finalmente abre zcomponent.lpk para compilarlo e instalarlo. En Lazarus 0.9.13 > solamente puede abrir zcomponent.lpk. El IDE abrir� el resto autom�ticamente.

Nota: los cuatro primeros paquetes solamente necesitan ser compilados y no pueden ser instalados.

--Forest<http://wiki.freepascal.org/index.php?title=User:Forest&action=edit&redlink=1> 17:41,
2 Nov 2005 (CET)

- 3. Si compilas e instalas Lazarus con �xito, pero despu�s de compilarse, comienza con:

[image: Zeoserror.gif] <http://wiki.freepascal.org/File:Zeoserror.gif>

Entonces se puede hacer:

Dentro del fichero Zeos.Inc reemplazar, en la secci�n "// Settings for Debug mode": {$R-} a {$R+}

--Junior <http://wiki.freepascal.org/User:Junior> 19:48, 15 Apr 2006 (GMT)

Si a�n as� despu�s de mostrar un error no recuperable que permita arrancar Lazarus, nos queda la alternativa de buscar el fichero ejecutable tal como estaba antes de compilar todo y que figura como lazarus.old.exe Hacer la primera aplicaci�n Zeos

- Sit�a un componente *ZConnection* en el formulario.
- Establecer las propiedades de User, Password, Host, Port y Protocol (y cualquier otro par�metro que se necesite).
- Establecer la propiedad "Set Connected" con el valor True.

- Sit�a un componente *ZQuery* en el formulario (cuidado con confundirlo con ZReadOnlyQuery).
- Establecer la propiedad "Connection" al valor de ZConnection activo.
- Establecer la propiedad Sql a algo similar a *SELECT * FROM MyTable* (selecciona
todo el contenido de la tabla especificada de la base de datos que se haya
abierto previamente, es una sentencia SQL).
- Establecer la propiedad "ACTIVE" al valor True.

- Sit�a un componente *DataSource* de la solapa *[Data Access]*.
- Establecer la propiedad "DataSet" con valor igual a la ZQuery activa.

- Sit�a un componente *DBGrid* de la solapa *[Data Controls]*.
- Establece el par�metro Datasource con el valor DataSource.
- Si todo est� bien se deber�an ver los registros rellenos con datos en la tabla.

M�s informaci�n sobre como trabajar con Zeos

En los siguientes enlaces se pueden encontrar art�culos realmente �tiles explicando el uso de Zeos y su uso interno, alguno de los cuales adem�s tratan adem�s sobre materias espec�ficas de Delphi pero que pueden ser utilizadas con Lazarus tambi�n.

- Tutorial en espa�ol de
Zeos+Lazarus+Sqlite:<http://lazaruszeos.blogspot.com/2010/07/uso-de-componentes-zeos-en-lzarus-y.html>
- ZeosLib DBOs 6.1.5 - con Delphi 7 y Firebird
1.5<http://zeos.firmos.at/kb.php?mode=article&k=12>
- Descripci�n de la arquitectura de los objetos de ZeosDB<http://zeos.firmos.at/kb.php?mode=article&k=8>
- Una introducci�n a la API de
ZDBC<http://zeos.firmos.at/kb.php?mode=article&k=7>
- Tambi�n chequea la secci�n
Downloads<http://zeos.firmos.at/downloads.php> para encontrar ejemplos reales que pueden ser f�cilmente portados a Lazarus.

*Por favor completar esto :)*
Posibles fallos e incidencias

- He notado que en algunas ocasiones cuando se construye Lazarus no es capaz de encontrar algunos ficheros de Zeos, como un m�todo r�pido puedes probar esto:
- Use *Components/Package Graph* from the main menu.
- Abre el paquete *ZComponent*.
- Right Click on the *Files* item in the list.
- Selecciona *[Recompile all required]*.
- Cuando pregunte "Re-Compile this and all required packages?" responder *[Yes]*.
- Recompila Lazarus normalmente (con paquetes).

- Hay un error en FPC's <http://wiki.freepascal.org/Glossary#Freepascal> AnsiStrComp<http://lazarus-ccr.sourceforge.net/docs/rtl/sysutils/ansistrcomp.html> que
causa comparaci�n no fiable PChar, esto es obvio cuando se utiliza DBGrid para editar datos, *AnsiStrComp('abc', 'abcd')* no puede detectarlo ya que son diferentes pero detecta*AnsiStrComp('abd', 'abcd')* ignorando m�ltiples caracteres de la segunda cadena. Este error fue encontrado por Jesusrmx <http://wiki.freepascal.org/User:Jesusrmx>. Este error probablemente ser� subsanado pronto, ver Bug
Report<http://www.freepascal.org/bugs/showrec.php3?ID=4325> .

   - [Ya arreglado en trunk 1013] Tratando de compilar la revisi�n 903 de
   ZeosDBO trunk (20110806) sobre GNU/Linux amd64 x86_64 da errores en el
   archivo ZClasses.pas como los siguientes:
      - Error: No matching Implementation for interface method
      "IUnknown.QueryInterface (constref TGuid, out <Formal type>) LongInt;
      Cdecl;"
      - El problema se debe a cambios en FPC relacionados con la
      compatibilidad entre plataformas (
      http://wiki.freepascal.org/User_Changes_2.6.0#IInterface.QueryInterface.2C_._AddRef_and_._Release_definitions_have_been_changed
      )
      - y la soluci�n es editar el archivo ZClasses.pas como en el
      siguiente parche:

- function QueryInterface({$IFDEF
FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGUID; out Obj): HResult; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; virtual;
- function _AddRef: Integer; {$IFNDEF
WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
- function _Release: Integer; {$IFNDEF
WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
+ function QueryInterface({$IFDEF
FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGUID; out Obj): HResult; {$IF (not defined(WINDOWS)) AND
(FPC_FULLVERSION>=20501)}cdecl{$ELSE}stdcall{$IFEND}; virtual;
+ function _AddRef: Integer; {$IF (not defined(WINDOWS)) AND (FPC_FULLVERSION>=20501)}cdecl{$ELSE}stdcall{$IFEND};
+ function _Release: Integer; {$IF (not defined(WINDOWS)) AND (FPC_FULLVERSION>=20501)}cdecl{$ELSE}stdcall{$IFEND};

  public
    constructor Create(const Controller: IInterface);
    property Controller: IInterface read GetController;

@@ -89,7 +93,8 @@
TContainedObject = class(TAggregatedObject, IInterface)

  protected

- function QueryInterface({$IFDEF
FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGUID; out Obj): HResult; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; override;
+ function QueryInterface({$IFDEF
FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGUID; out Obj): HResult; {$IF (not defined(WINDOWS)) AND
(FPC_FULLVERSION>=20501)}cdecl{$ELSE}stdcall{$IFEND}; override;

  end;
  {$ENDIF}

@@ -221,7 +226,8 @@

  Result := IInterface(FController)._AddRef;

end;
-function TAggregatedObject._Release: Integer; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
+function TAggregatedObject._Release: Integer; {$IF (not defined(WINDOWS)) AND
(FPC_FULLVERSION>=20501)}cdecl{$ELSE}stdcall{$IFEND};

- [Ya arreglado en trunk 1013] Tratando de compilar la revisi�n 903 of ZeosDBO trunk en GNU/Linux con FPC 2.6.0 o superior, da el siguiente error en ZAbstractRODataset.pas: "Error: Expected another 2 array elements". El problema es que FPC2_1UP no est� definido porque el archivo src/Zeos.inc no verifica las versiones nuevas. Si estamos usando solo versiones nuevas de FPC (2.6, 2.7 o superiores) podemos modificar src/Zeos.inc agregando las lineas siguientes justo antes de {$IFDEF VER2_5}, y el error no aparece mas.

+ {$DEFINE FPC2_5UP}
+ {$DEFINE FPC2_4UP}
+ {$DEFINE FPC2_3UP}
+ {$DEFINE FPC2_2UP}
+ {$DEFINE FPC2_1UP}
+ {$DEFINE FPC2_UP}
+

   {$IFDEF VER2_5}
     {$DEFINE FPC2_5UP}

2013/5/6 Jos� Mejuto <joshyfun en gmail.com>

Show quoted text 20 lines
El 06/05/2013 20:14, Ismael L. Donis Garcia escribi�: Error: No matching implementation for interface method > "IUnknown.QueryInterface(**constref TGuid,out <Formal type>):LongInt; > StdCall;" f > Hola, http://wiki.freepascal.org/**Zeos_tutorial/es#Posibles_** fallos_e_incidencias<http://wiki.freepascal.org/Zeos_tutorial/es#Posibles_fallos_e_incidencias> -- ______________________________**_________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.**freepascal.org<Lazarus-es en lists.lazarus.freepascal.org> http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus-es<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es>
El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130506/47854487/attachment-0001.html>

Reply by email

Jose Daboin
to José Mejuto: El 06/05/2013 20:14, Ismael L. Donis Garcia escribi�:…

Asi lo resolvimos en el foro (Cito)
========================
Me respondieron al error que tu tienes lo siguiente:

El error quiere decir que la implementaci�n del m�todo "QueryInterface" debe ser id�ntica a la declaraci�n en la interfaz IUnknown. Si te fijas en la interfaz est� declarada como.

Unknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; StdCall

y en la implementaci�n est�.
function QueryInterface(const IID: TGUID; out Obj): HResult; virtual;
stdcall;

as� que en la implemantaci�n debe ser suficiente con cambiar const por constref

========================

Luego me dio otro error y lo que hice fue esto

============================

Ya resolvi el problema.

1ero

habia que buscar en google:D:p

2do

Colocar estas lineas modificando el archivo zeos.inc que se encuentra en la carpeta scr que aparece luego de descomprimir el paquete que se descarga para instalar.

{$DEFINE FPC2_5UP}
{$DEFINE FPC2_4UP}
{$DEFINE FPC2_3UP}
{$DEFINE FPC2_2UP}
{$DEFINE FPC2_1UP}
{$DEFINE FPC2_UP}
//linea de separacion (este comentario lo borran)

y luego estas dos lineas que ya se encuentran en el archivo zeos.inc por lo tanto no
se colocan si no que van como referencia (no le digan a nadie...yo las coloque y casi q hago otra pregunta)

//antes de estas se coloca lo de arriba
{$IFDEF VER2_5}
{$DEFINE FPC2_5UP}

Pagina donde esta la informacion http://wiki.freepascal.org/Zeos_tutorial/es

2013/5/6 Jos� Mejuto <joshyfun en gmail.com>

Show quoted text 20 lines
El 06/05/2013 20:14, Ismael L. Donis Garcia escribi�: Error: No matching implementation for interface method > "IUnknown.QueryInterface(**constref TGuid,out <Formal type>):LongInt; > StdCall;" f > Hola, http://wiki.freepascal.org/**Zeos_tutorial/es#Posibles_** fallos_e_incidencias<http://wiki.freepascal.org/Zeos_tutorial/es#Posibles_fallos_e_incidencias> -- ______________________________**_________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.**freepascal.org<Lazarus-es en lists.lazarus.freepascal.org> http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus-es<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es>
*Saludos. Jose Daboin* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130506/57f36fd7/attachment-0001.html>

Reply by email

Maxi
to Jose Daboin

Jose no puede buscar en google porque vive en cuba y no tienen acceso libre a internet.

El 6 de mayo de 2013 16:28, Jose Daboin <metalbox9000 en gmail.com> escribi�:

Show quoted text 95 lines
Asi lo resolvimos en el foro (Cito) ======================== Me respondieron al error que tu tienes lo siguiente: El error quiere decir que la implementaci�n del m�todo "QueryInterface" debe ser id�ntica a la declaraci�n en la interfaz IUnknown. Si te fijas en la interfaz est� declarada como. Unknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; StdCall y en la implementaci�n est�. function QueryInterface(const IID: TGUID; out Obj): HResult; virtual; stdcall; as� que en la implemantaci�n debe ser suficiente con cambiar const por constref ======================== Luego me dio otro error y lo que hice fue esto ============================ Ya resolvi el problema. 1ero habia que buscar en google:D:p 2do Colocar estas lineas modificando el archivo zeos.inc que se encuentra en la carpeta scr que aparece luego de descomprimir el paquete que se descarga para instalar. {$DEFINE FPC2_5UP} {$DEFINE FPC2_4UP} {$DEFINE FPC2_3UP} {$DEFINE FPC2_2UP} {$DEFINE FPC2_1UP} {$DEFINE FPC2_UP} //linea de separacion (este comentario lo borran) y luego estas dos lineas que ya se encuentran en el archivo zeos.inc por lo tanto no se colocan si no que van como referencia (no le digan a nadie...yo las coloque y casi q hago otra pregunta) //antes de estas se coloca lo de arriba {$IFDEF VER2_5} {$DEFINE FPC2_5UP} Pagina donde esta la informacion http://wiki.freepascal.org/Zeos_tutorial/es 2013/5/6 Jos� Mejuto <joshyfun en gmail.com> > El 06/05/2013 20:14, Ismael L. Donis Garcia escribi�: > > Error: No matching implementation for interface method >> "IUnknown.QueryInterface(**constref TGuid,out <Formal type>):LongInt; >> StdCall;" f >> > > Hola, > > http://wiki.freepascal.org/**Zeos_tutorial/es#Posibles_** > fallos_e_incidencias<http://wiki.freepascal.org/Zeos_tutorial/es#Posibles_fallos_e_incidencias> > > -- > > > ______________________________**_________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.**freepascal.org<Lazarus-es en lists.lazarus.freepascal.org> > http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus-es<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es> > -- *Saludos. Jose Daboin* _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130506/69c3f390/attachment.html>

Reply by email

Jose Daboin
to Maxi

jajaja, No maxi, esa fue la respuesta que di en el foro, o sea la copie del foro y la pegue aqui entiendes por lo tanto no tiene que buscar nada XD solo hacer los pasos que estan alli menos lo de google.

Saludos

El 6 de mayo de 2013 15:08, Maxi <maximiliano.duarte en gmail.com> escribi�:

Show quoted text 118 lines
Jose no puede buscar en google porque vive en cuba y no tienen acceso libre a internet. El 6 de mayo de 2013 16:28, Jose Daboin <metalbox9000 en gmail.com> escribi�: Asi lo resolvimos en el foro (Cito) > ======================== > Me respondieron al error que tu tienes lo siguiente: > > El error quiere decir que la implementaci�n del m�todo "QueryInterface" > debe ser id�ntica a la declaraci�n en la interfaz IUnknown. Si te fijas en > la interfaz est� declarada como. > > > Unknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; StdCall > > y en la implementaci�n est�. > > function QueryInterface(const IID: TGUID; out Obj): HResult; virtual; > stdcall; > > as� que en la implemantaci�n debe ser suficiente con cambiar const por > constref > > ======================== > > Luego me dio otro error y lo que hice fue esto > > ============================ > > Ya resolvi el problema. > > 1ero > > habia que buscar en google:D:p > > 2do > > Colocar estas lineas modificando el archivo zeos.inc que se encuentra en > la carpeta scr que aparece luego de descomprimir el paquete que se descarga > para instalar. > > {$DEFINE FPC2_5UP} > {$DEFINE FPC2_4UP} > {$DEFINE FPC2_3UP} > {$DEFINE FPC2_2UP} > {$DEFINE FPC2_1UP} > {$DEFINE FPC2_UP} > //linea de separacion (este comentario lo borran) > > > y luego estas dos lineas que ya se encuentran en el archivo zeos.inc por > lo tanto no > se colocan si no que van como referencia (no le digan a nadie...yo las > coloque y casi q hago otra pregunta) > > //antes de estas se coloca lo de arriba > {$IFDEF VER2_5} > {$DEFINE FPC2_5UP} > > Pagina donde esta la informacion > http://wiki.freepascal.org/Zeos_tutorial/es > > > 2013/5/6 Jos� Mejuto <joshyfun en gmail.com> > >> El 06/05/2013 20:14, Ismael L. Donis Garcia escribi�: >> >> Error: No matching implementation for interface method >>> "IUnknown.QueryInterface(**constref TGuid,out <Formal type>):LongInt; >>> StdCall;" f >>> >> >> Hola, >> >> http://wiki.freepascal.org/**Zeos_tutorial/es#Posibles_** >> fallos_e_incidencias<http://wiki.freepascal.org/Zeos_tutorial/es#Posibles_fallos_e_incidencias> >> >> -- >> >> >> ______________________________**_________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.**freepascal.org<Lazarus-es en lists.lazarus.freepascal.org> >> http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus-es<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es> >> > > > > -- > *Saludos. > > Jose Daboin* > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > -- El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
*Saludos. Jose Daboin* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130506/2650618d/attachment.html>

Reply by email

Maxi
to Maxi: Ismael no puede vavegar por internet. reposteo el contenido Instalando los componentes…

Ismael no puede vavegar por internet. reposteo el contenido sin imagenes

Instalando los componentes

Esta es una parte complicada por lo que debes tener un poco de paciencia y leer este apartado cuidadosamente.

Comprueba que tienes al menos la versi�n 1.0.4 de Lazarus (diciembre
2012) y al menos la versi�n 7.0.3 estable de ZeosLib.

Comenzar una instancia de Lazarus.

Pulsar en Paquete/Abrir archivo de paquete (.lpk) desde el men� principal. Ve a .\ZEOSDBO-7.0.3-stable\packages\lazarus y abre zcomponent.lpk Presiona [Compilar] solamente si no necesitas instalar los componentes en el IDE.
Presiona [Usar >>] para ver las opciones que ofrece. Selecciona Agregar al Proyecto si no quieres a�adirlo al IDE o bien Instalar para que se a�ada a la solapa del IDE de Lazaus Pregunta si necesitas recompilar Lazarus, en concreto con el mensaje emergente El paquete "zcomponent 7.0" se marc� para instalar. Actualmente lazarus solo soporta paquetes enlazados est�ticamente. La instalaci�n completa necesita reconstruir y reiniciar lazarus �Desea reconstruir ahora Lazarus?

Responde [Si] esta vez.
Espera a que la compilaci�n termine, la ventana emergente de mensajes nos va mostrando la evoluci�n del proceso, Lazarus deber�a reiniciarse despu�s de esto.
Si todo est� bien se deber�a ver la solapa [Zeos Access] en la paleta de componentes.

Si se presenta el error "Cannot find unit ZClasses" o algo similar, entonces hay que chequear cuidad�samente como est�n escritos los nombres de fichero (en cuanto a may�sculas/min�sculas) en sus ficheros de c�digo fuente.

Incluso si cuadran exactamente, el paquete autogenerado del fichero fuente puede dar lugar a un tipificado incorrecto
(may�sculas/min�sculas) en la cla�sula "uses" (Lazarus 0.9.18), i.e.:

Si lo anterior falla, tal como se explica en el foro de ZeosLib es conveniente ir compilando cada uno de los paquetes siguiendo el siguiente orden:

- 1�. zcore.lpk

- 2�. zparsesql.lpk

- 3�. zplain.lpk

- 4�. zdbc.lpk

- 5�. zcomponent.lpk

Si el resultado de la compilaci�n individual de todos es correcto, entonces ya estar�amos en condiciones de escoger el paquete Zcomponent y con la opci�n de Usar >>> y a continuaci�n Instalar tenerlo en nuestro IDE como una solapa m�s de componentes visuales.

{ Este fichero ha sido generado autom�ticamente por Lazarus. �No se debe editar!
Esta fuente solo se utiliza para compilar e instalar el paquete. }

  unit Zcore;
  interface
  uses
    Zclasses, Zcollections, Zcompatibility, Zexprparser, Zexprtoken,

Zexpression,
Zfunctions, Zmatchpattern, Zmessages, Zsysutils, Ztokenizer, Zvariables,

    Zvariant;
  implementation
  end.

F�jate que Lazarus ha renombrado la unit ZClasses como Zclasses, dando lugar a un conflicto de nombres. Presumiblemente este es un error en Lazarus, no de los paquetes Zeos. Un camino a seguir para solucionarlo es renombrar todos los ficheros fuente de Zeos a min�sculas. Accede a cada subdirectorio bajo src/ y ejecuta este mandato en una ventana de bash (shell) de windows:

rename -v 'y/A-Z/a-z/' *

Entonces, en Lazarus, reabre el paquete (.lpk) y corrige el nombre de fichero (may�sculas/min�sculas) seleccionando en "More..."/"Fix Files Case"
El paquete deber�a poderse compilar entonces.

Comentarios

En el momento actual Zeos CVS para Lazarus tiene paquetes rotos. Algunos comentarios de IgD:

Utilizando una instalaci�n limpia de Lazarus 0.9.12 (�ltima versi�n estable) fu� capaz de instalar ZeosLib (13 Octubre 2005). Primero corrige los siguientes errores en ZeosLib:

1. Cambia ZplainPostgreSql81.pas a ZPlainPostgresSql8x.pas en zplain.lpk

<Item22>
<Filename Value="../../src/plain/ZPlainPostgreSql81.pas"/> <UnitName Value="ZPlainPostgreSql8x"/>
</Item22>

2. Fix the following typos in zdbc.lpk:

a. Remove extra "/" from "build/" (remove the one that is inside the quotes)

<SearchPaths>
<OtherUnitFiles Value="../../src/dbc/"/>
<UnitOutputDirectory Value="build/"/>
</SearchPaths>

b. Add missing quote to unitname value

<Item43>
<Filename Value="../../src/dbc/ZDbcASA.pas"/>
<UnitName Value="ZDbcASA/>
</Item43>

Ahora, aqu� est�n las instrucciones de instalaci�n:

Antes de la versi�n 0.9.13 de Lazarus era necesario abrir cada uno de los paquetes de Zeos a trav�s de Paquetes/Abrir Paquete en el siguiente orden:

zcore.lpk
zparsesql.lpk
zplain.lpk
zdbc.lpk

Entonces finalmente abre zcomponent.lpk para compilarlo e instalarlo. En Lazarus 0.9.13 > solamente puede abrir zcomponent.lpk. El IDE abrir� el resto autom�ticamente.

Nota: los cuatro primeros paquetes solamente necesitan ser compilados y no pueden ser instalados.

--Forest 17:41, 2 Nov 2005 (CET)

3. Si compilas e instalas Lazarus con �xito, pero despu�s de compilarse, comienza con:

Entonces se puede hacer:

Dentro del fichero Zeos.Inc reemplazar, en la secci�n "// Settings for Debug mode": {$R-} a {$R+}

--Junior 19:48, 15 Apr 2006 (GMT)

Si a�n as� despu�s de mostrar un error no recuperable que permita arrancar Lazarus, nos queda la alternativa de buscar el fichero ejecutable tal como estaba antes de compilar todo y que figura como lazarus.old.exe

Hacer la primera aplicaci�n Zeos

Sit�a un componente ZConnection en el formulario.

Establecer las propiedades de User, Password, Host, Port y Protocol (y cualquier otro par�metro que se necesite).
Establecer la propiedad "Set Connected" con el valor True.

Sit�a un componente ZQuery en el formulario (cuidado con confundirlo con ZReadOnlyQuery).

Establecer la propiedad "Connection" al valor de ZConnection activo. Establecer la propiedad Sql a algo similar a SELECT * FROM MyTable (selecciona todo el contenido de la tabla especificada de la base de datos que se haya abierto previamente, es una sentencia SQL). Establecer la propiedad "ACTIVE" al valor True.

Sit�a un componente DataSource de la solapa [Data Access].

Establecer la propiedad "DataSet" con valor igual a la ZQuery activa.

Sit�a un componente DBGrid de la solapa [Data Controls].

Establece el par�metro Datasource con el valor DataSource. Si todo est� bien se deber�an ver los registros rellenos con datos en la tabla.

M�s informaci�n sobre como trabajar con Zeos

En los siguientes enlaces se pueden encontrar art�culos realmente �tiles explicando el uso de Zeos y su uso interno, alguno de los cuales adem�s tratan adem�s sobre materias espec�ficas de Delphi pero que pueden ser utilizadas con Lazarus tambi�n.

Tutorial en espa�ol de Zeos+Lazarus+Sqlite:
ZeosLib DBOs 6.1.5 - con Delphi 7 y Firebird 1.5
Descripci�n de la arquitectura de los objetos de ZeosDB Una introducci�n a la API de ZDBC
Tambi�n chequea la secci�n Downloads para encontrar ejemplos reales que pueden ser f�cilmente portados a Lazarus.

Por favor completar esto :)

Posibles fallos e incidencias

He notado que en algunas ocasiones cuando se construye Lazarus no es capaz de encontrar algunos ficheros de Zeos, como un m�todo r�pido puedes probar esto:

Use Components/Package Graph from the main menu.
Abre el paquete ZComponent.
Right Click on the Files item in the list.
Selecciona [Recompile all required].
Cuando pregunte "Re-Compile this and all required packages?" responder [Yes]. Recompila Lazarus normalmente (con paquetes).

Hay un error en FPC's AnsiStrComp que causa comparaci�n no fiable PChar, esto es obvio cuando se utiliza DBGrid para editar datos, AnsiStrComp('abc', 'abcd') no puede detectarlo ya que son diferentes pero detectaAnsiStrComp('abd', 'abcd') ignorando m�ltiples caracteres de la segunda cadena. Este error fue encontrado por Jesusrmx. Este error probablemente ser� subsanado pronto, ver Bug Report.

[Ya arreglado en trunk 1013] Tratando de compilar la revisi�n 903 de ZeosDBO trunk (20110806) sobre GNU/Linux amd64 x86_64 da errores en el archivo ZClasses.pas como los siguientes:

Error: No matching Implementation for interface method "IUnknown.QueryInterface (constref TGuid, out <Formal type>) LongInt; Cdecl;"
El problema se debe a cambios en FPC relacionados con la compatibilidad entre plataformas
(http://wiki.freepascal.org/User_Changes_2.6.0#IInterface.QueryInterface.2C_._AddRef_and_._Release_definitions_have_been_changed) y la soluci�n es editar el archivo ZClasses.pas como en el siguiente parche:

- function QueryInterface({$IFDEF
FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGUID; out Obj): HResult; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; virtual;
- function _AddRef: Integer; {$IFNDEF
WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
- function _Release: Integer; {$IFNDEF
WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
+ function QueryInterface({$IFDEF
FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGUID; out Obj): HResult; {$IF (not defined(WINDOWS)) AND
(FPC_FULLVERSION>=20501)}cdecl{$ELSE}stdcall{$IFEND}; virtual;
+ function _AddRef: Integer; {$IF (not defined(WINDOWS)) AND (FPC_FULLVERSION>=20501)}cdecl{$ELSE}stdcall{$IFEND};
+ function _Release: Integer; {$IF (not defined(WINDOWS)) AND (FPC_FULLVERSION>=20501)}cdecl{$ELSE}stdcall{$IFEND};

  public
    constructor Create(const Controller: IInterface);
    property Controller: IInterface read GetController;

@@ -89,7 +93,8 @@
TContainedObject = class(TAggregatedObject, IInterface)

  protected

- function QueryInterface({$IFDEF
FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGUID; out Obj): HResult; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; override;
+ function QueryInterface({$IFDEF
FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGUID; out Obj): HResult; {$IF (not defined(WINDOWS)) AND
(FPC_FULLVERSION>=20501)}cdecl{$ELSE}stdcall{$IFEND}; override;

  end;
  {$ENDIF}

@@ -221,7 +226,8 @@

  Result := IInterface(FController)._AddRef;

end;
-function TAggregatedObject._Release: Integer; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
+function TAggregatedObject._Release: Integer; {$IF (not defined(WINDOWS)) AND
(FPC_FULLVERSION>=20501)}cdecl{$ELSE}stdcall{$IFEND};

[Ya arreglado en trunk 1013] Tratando de compilar la revisi�n 903 of ZeosDBO trunk en GNU/Linux con FPC 2.6.0 o superior, da el siguiente error en ZAbstractRODataset.pas: "Error: Expected another 2 array elements". El problema es que FPC2_1UP no est� definido porque el archivo src/Zeos.inc no verifica las versiones nuevas. Si estamos usando solo versiones nuevas de FPC (2.6, 2.7 o superiores) podemos modificar src/Zeos.inc agregando las lineas siguientes justo antes de {$IFDEF VER2_5}, y el error no aparece mas.

+ {$DEFINE FPC2_5UP}
+ {$DEFINE FPC2_4UP}
+ {$DEFINE FPC2_3UP}
+ {$DEFINE FPC2_2UP}
+ {$DEFINE FPC2_1UP}
+ {$DEFINE FPC2_UP}
+

   {$IFDEF VER2_5}
     {$DEFINE FPC2_5UP}

2013/5/6 Jos� Mejuto <joshyfun en gmail.com>

Show quoted text 19 lines
El 06/05/2013 20:14, Ismael L. Donis Garcia escribi�: > Error: No matching implementation for interface method > "IUnknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; > StdCall;" f Hola, http://wiki.freepascal.org/Zeos_tutorial/es#Posibles_fallos_e_incidencias -- _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog -- El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog

Reply by email

Jose Daboin
to Maxi

Maxi creo que no me di a entender, el mensaje que yo deje era la respuesta concreta para resolver ese error, lo que pasa es que la copie directamente del foro de delphi.

Dejo editado aqui para evitar confuciones
======================================================== El error quiere decir que la implementaci�n del m�todo "QueryInterface" debe ser id�ntica a la declaraci�n en la interfaz IUnknown. Si te fijas en la interfaz est� declarada como.

Unknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; StdCall

y en la implementaci�n est�.

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

as� que en la implemantaci�n debe ser suficiente con cambiar const por constref

========================

Al corregir el error anterior se produce otro mas que se soluciona de la siguiente manera

============================

Buscar alguna de estas dos lineas en zeos.inc y arriba de ellas pegar los
define que estan abajo.
{$IFDEF VER2_5}
{$DEFINE FPC2_5UP}
Colocar estas lineas modificando el archivo zeos.inc que se encuentra en la
carpeta scr  en la carpeta del componente zeos
{$DEFINE FPC2_5UP}
{$DEFINE FPC2_4UP}
{$DEFINE FPC2_3UP}
{$DEFINE FPC2_2UP}
{$DEFINE FPC2_1UP}
{$DEFINE FPC2_UP}
//linea de separacion (este comentario lo borran)

El 6 de mayo de 2013 15:59, Maxi <maximiliano.duarte en gmail.com> escribi�:

Show quoted text 355 lines
Ismael no puede vavegar por internet. reposteo el contenido sin imagenes Instalando los componentes Esta es una parte complicada por lo que debes tener un poco de paciencia y leer este apartado cuidadosamente. Comprueba que tienes al menos la versi�n 1.0.4 de Lazarus (diciembre 2012) y al menos la versi�n 7.0.3 estable de ZeosLib. Comenzar una instancia de Lazarus. Pulsar en Paquete/Abrir archivo de paquete (.lpk) desde el men� principal. Ve a .\ZEOSDBO-7.0.3-stable\packages\lazarus y abre zcomponent.lpk Presiona [Compilar] solamente si no necesitas instalar los componentes en el IDE. Presiona [Usar >>] para ver las opciones que ofrece. Selecciona Agregar al Proyecto si no quieres a�adirlo al IDE o bien Instalar para que se a�ada a la solapa del IDE de Lazaus Pregunta si necesitas recompilar Lazarus, en concreto con el mensaje emergente El paquete "zcomponent 7.0" se marc� para instalar. Actualmente lazarus solo soporta paquetes enlazados est�ticamente. La instalaci�n completa necesita reconstruir y reiniciar lazarus �Desea reconstruir ahora Lazarus? Responde [Si] esta vez. Espera a que la compilaci�n termine, la ventana emergente de mensajes nos va mostrando la evoluci�n del proceso, Lazarus deber�a reiniciarse despu�s de esto. Si todo est� bien se deber�a ver la solapa [Zeos Access] en la paleta de componentes. Si se presenta el error "Cannot find unit ZClasses" o algo similar, entonces hay que chequear cuidad�samente como est�n escritos los nombres de fichero (en cuanto a may�sculas/min�sculas) en sus ficheros de c�digo fuente. Incluso si cuadran exactamente, el paquete autogenerado del fichero fuente puede dar lugar a un tipificado incorrecto (may�sculas/min�sculas) en la cla�sula "uses" (Lazarus 0.9.18), i.e.: Si lo anterior falla, tal como se explica en el foro de ZeosLib es conveniente ir compilando cada uno de los paquetes siguiendo el siguiente orden: - 1�. zcore.lpk - 2�. zparsesql.lpk - 3�. zplain.lpk - 4�. zdbc.lpk - 5�. zcomponent.lpk Si el resultado de la compilaci�n individual de todos es correcto, entonces ya estar�amos en condiciones de escoger el paquete Zcomponent y con la opci�n de Usar >>> y a continuaci�n Instalar tenerlo en nuestro IDE como una solapa m�s de componentes visuales. { Este fichero ha sido generado autom�ticamente por Lazarus. �No se debe editar! Esta fuente solo se utiliza para compilar e instalar el paquete. } unit Zcore; interface uses Zclasses, Zcollections, Zcompatibility, Zexprparser, Zexprtoken, Zexpression, Zfunctions, Zmatchpattern, Zmessages, Zsysutils, Ztokenizer, Zvariables, Zvariant; implementation end. F�jate que Lazarus ha renombrado la unit ZClasses como Zclasses, dando lugar a un conflicto de nombres. Presumiblemente este es un error en Lazarus, no de los paquetes Zeos. Un camino a seguir para solucionarlo es renombrar todos los ficheros fuente de Zeos a min�sculas. Accede a cada subdirectorio bajo src/ y ejecuta este mandato en una ventana de bash (shell) de windows: rename -v 'y/A-Z/a-z/' * Entonces, en Lazarus, reabre el paquete (.lpk) y corrige el nombre de fichero (may�sculas/min�sculas) seleccionando en "More..."/"Fix Files Case" El paquete deber�a poderse compilar entonces. Comentarios En el momento actual Zeos CVS para Lazarus tiene paquetes rotos. Algunos comentarios de IgD: Utilizando una instalaci�n limpia de Lazarus 0.9.12 (�ltima versi�n estable) fu� capaz de instalar ZeosLib (13 Octubre 2005). Primero corrige los siguientes errores en ZeosLib: 1. Cambia ZplainPostgreSql81.pas a ZPlainPostgresSql8x.pas en zplain.lpk <Item22> <Filename Value="../../src/plain/ZPlainPostgreSql81.pas"/> <UnitName Value="ZPlainPostgreSql8x"/> </Item22> 2. Fix the following typos in zdbc.lpk: a. Remove extra "/" from "build/" (remove the one that is inside the quotes) <SearchPaths> <OtherUnitFiles Value="../../src/dbc/"/> <UnitOutputDirectory Value="build/"/> </SearchPaths> b. Add missing quote to unitname value <Item43> <Filename Value="../../src/dbc/ZDbcASA.pas"/> <UnitName Value="ZDbcASA/> </Item43> Ahora, aqu� est�n las instrucciones de instalaci�n: Antes de la versi�n 0.9.13 de Lazarus era necesario abrir cada uno de los paquetes de Zeos a trav�s de Paquetes/Abrir Paquete en el siguiente orden: zcore.lpk zparsesql.lpk zplain.lpk zdbc.lpk Entonces finalmente abre zcomponent.lpk para compilarlo e instalarlo. En Lazarus 0.9.13 > solamente puede abrir zcomponent.lpk. El IDE abrir� el resto autom�ticamente. Nota: los cuatro primeros paquetes solamente necesitan ser compilados y no pueden ser instalados. --Forest 17:41, 2 Nov 2005 (CET) 3. Si compilas e instalas Lazarus con �xito, pero despu�s de compilarse, comienza con: Entonces se puede hacer: Dentro del fichero Zeos.Inc reemplazar, en la secci�n "// Settings for Debug mode": {$R-} a {$R+} --Junior 19:48, 15 Apr 2006 (GMT) Si a�n as� despu�s de mostrar un error no recuperable que permita arrancar Lazarus, nos queda la alternativa de buscar el fichero ejecutable tal como estaba antes de compilar todo y que figura como lazarus.old.exe Hacer la primera aplicaci�n Zeos Sit�a un componente ZConnection en el formulario. Establecer las propiedades de User, Password, Host, Port y Protocol (y cualquier otro par�metro que se necesite). Establecer la propiedad "Set Connected" con el valor True. Sit�a un componente ZQuery en el formulario (cuidado con confundirlo con ZReadOnlyQuery). Establecer la propiedad "Connection" al valor de ZConnection activo. Establecer la propiedad Sql a algo similar a SELECT * FROM MyTable (selecciona todo el contenido de la tabla especificada de la base de datos que se haya abierto previamente, es una sentencia SQL). Establecer la propiedad "ACTIVE" al valor True. Sit�a un componente DataSource de la solapa [Data Access]. Establecer la propiedad "DataSet" con valor igual a la ZQuery activa. Sit�a un componente DBGrid de la solapa [Data Controls]. Establece el par�metro Datasource con el valor DataSource. Si todo est� bien se deber�an ver los registros rellenos con datos en la tabla. M�s informaci�n sobre como trabajar con Zeos En los siguientes enlaces se pueden encontrar art�culos realmente �tiles explicando el uso de Zeos y su uso interno, alguno de los cuales adem�s tratan adem�s sobre materias espec�ficas de Delphi pero que pueden ser utilizadas con Lazarus tambi�n. Tutorial en espa�ol de Zeos+Lazarus+Sqlite: ZeosLib DBOs 6.1.5 - con Delphi 7 y Firebird 1.5 Descripci�n de la arquitectura de los objetos de ZeosDB Una introducci�n a la API de ZDBC Tambi�n chequea la secci�n Downloads para encontrar ejemplos reales que pueden ser f�cilmente portados a Lazarus. Por favor completar esto :) Posibles fallos e incidencias He notado que en algunas ocasiones cuando se construye Lazarus no es capaz de encontrar algunos ficheros de Zeos, como un m�todo r�pido puedes probar esto: Use Components/Package Graph from the main menu. Abre el paquete ZComponent. Right Click on the Files item in the list. Selecciona [Recompile all required]. Cuando pregunte "Re-Compile this and all required packages?" responder [Yes]. Recompila Lazarus normalmente (con paquetes). Hay un error en FPC's AnsiStrComp que causa comparaci�n no fiable PChar, esto es obvio cuando se utiliza DBGrid para editar datos, AnsiStrComp('abc', 'abcd') no puede detectarlo ya que son diferentes pero detectaAnsiStrComp('abd', 'abcd') ignorando m�ltiples caracteres de la segunda cadena. Este error fue encontrado por Jesusrmx. Este error probablemente ser� subsanado pronto, ver Bug Report. [Ya arreglado en trunk 1013] Tratando de compilar la revisi�n 903 de ZeosDBO trunk (20110806) sobre GNU/Linux amd64 x86_64 da errores en el archivo ZClasses.pas como los siguientes: Error: No matching Implementation for interface method "IUnknown.QueryInterface (constref TGuid, out <Formal type>) LongInt; Cdecl;" El problema se debe a cambios en FPC relacionados con la compatibilidad entre plataformas ( http://wiki.freepascal.org/User_Changes_2.6.0#IInterface.QueryInterface.2C_._AddRef_and_._Release_definitions_have_been_changed ) y la soluci�n es editar el archivo ZClasses.pas como en el siguiente parche: - function QueryInterface({$IFDEF FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGUID; out Obj): HResult; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; virtual; - function _AddRef: Integer; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; - function _Release: Integer; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; + function QueryInterface({$IFDEF FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGUID; out Obj): HResult; {$IF (not defined(WINDOWS)) AND (FPC_FULLVERSION>=20501)}cdecl{$ELSE}stdcall{$IFEND}; virtual; + function _AddRef: Integer; {$IF (not defined(WINDOWS)) AND (FPC_FULLVERSION>=20501)}cdecl{$ELSE}stdcall{$IFEND}; + function _Release: Integer; {$IF (not defined(WINDOWS)) AND (FPC_FULLVERSION>=20501)}cdecl{$ELSE}stdcall{$IFEND}; public constructor Create(const Controller: IInterface); property Controller: IInterface read GetController; @@ -89,7 +93,8 @@ TContainedObject = class(TAggregatedObject, IInterface) protected - function QueryInterface({$IFDEF FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGUID; out Obj): HResult; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; override; + function QueryInterface({$IFDEF FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGUID; out Obj): HResult; {$IF (not defined(WINDOWS)) AND (FPC_FULLVERSION>=20501)}cdecl{$ELSE}stdcall{$IFEND}; override; end; {$ENDIF} @@ -221,7 +226,8 @@ Result := IInterface(FController)._AddRef; end; -function TAggregatedObject._Release: Integer; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; +function TAggregatedObject._Release: Integer; {$IF (not defined(WINDOWS)) AND (FPC_FULLVERSION>=20501)}cdecl{$ELSE}stdcall{$IFEND}; [Ya arreglado en trunk 1013] Tratando de compilar la revisi�n 903 of ZeosDBO trunk en GNU/Linux con FPC 2.6.0 o superior, da el siguiente error en ZAbstractRODataset.pas: "Error: Expected another 2 array elements". El problema es que FPC2_1UP no est� definido porque el archivo src/Zeos.inc no verifica las versiones nuevas. Si estamos usando solo versiones nuevas de FPC (2.6, 2.7 o superiores) podemos modificar src/Zeos.inc agregando las lineas siguientes justo antes de {$IFDEF VER2_5}, y el error no aparece mas. + {$DEFINE FPC2_5UP} + {$DEFINE FPC2_4UP} + {$DEFINE FPC2_3UP} + {$DEFINE FPC2_2UP} + {$DEFINE FPC2_1UP} + {$DEFINE FPC2_UP} + {$IFDEF VER2_5} {$DEFINE FPC2_5UP} 2013/5/6 Jos� Mejuto <joshyfun en gmail.com> > > El 06/05/2013 20:14, Ismael L. Donis Garcia escribi�: > >> Error: No matching implementation for interface method >> "IUnknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; >> StdCall;" f > > > Hola, > > http://wiki.freepascal.org/Zeos_tutorial/es#Posibles_fallos_e_incidencias > > -- > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es -- El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog -- El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
*Saludos. Jose Daboin* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130506/5f27154f/attachment-0001.html>

Reply by email

Ismael L. Donis Garcia

Ante todo Perdon por no haber contestado antes, debido a que no fue hasta ahora que me siento delante de la PC. Por cuestiones de trabajo me encontraba ausente.

Ya con la soluci�n que me has dado pas� esa parte de la compilaci�n sin problema alguno. Ahora me est� dando problemas en el archivo:

C:\lazarus\components\ZEOSDBO-6.6.6-stable\src\component\ZAbstractRODataset.pas(3116,48) Error: Expected another 2 array elements

Espec�ficamente en la funci�n:

procedure TZAbstractRODataset.CheckFieldCompatibility(Field: TField;FieldDef: TFieldDef);

{$IFDEF FPC}
const
BaseFieldTypes: array[TFieldType] of TFieldType = ( ftUnknown, ftString, ftInteger, ftInteger, ftInteger, ftBoolean, ftFloat, ftFloat, ftBCD, ftDateTime, ftDateTime, ftDateTime, ftBytes, ftVarBytes, ftInteger, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftUnknown, ftString, ftString, ftLargeInt, ftADT, ftArray, ftReference, ftDataSet, ftBlob, ftBlob, ftVariant, ftInterface, ftInterface, ftString, ftTimeStamp, ftFMTBcd

    {$IFDEF FPC2_1UP}, ftString, ftBlob{$ENDIF});

Me dice que faltan 2 elementos. Si miro la otra que sigue m�s abajo si tiene los 2 elementos:

{$ELSE}
{$IFDEF VER180}
const
BaseFieldTypes: array[TFieldType] of TFieldType = ( ftUnknown, ftString, ftInteger, ftInteger, ftInteger, ftBoolean, ftFloat, ftFloat, ftBCD, ftDateTime, ftDateTime, ftDateTime, ftBytes, ftVarBytes, ftInteger, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftUnknown, ftString, ftString, ftLargeInt, ftADT, ftArray, ftReference, ftDataSet, ftBlob, ftBlob, ftVariant, ftInterface, ftInterface, ftString, ftTimeStamp, ftFMTBcd,

    ftFixedWideChar,ftWideMemo,ftOraTimeStamp,ftOraInterval);

{$ELSE}

Que me les debo poner para solucionar este problema?

Desde Ya Gracias a todos los que de una forma u otra han intentado ayudar. =========
|| ISMAEL ||
=========
Website: www.sisconge.byethost15.com

Earlier message 53 lines
----- Original Message ----- From: Jose Daboin To: Spanish version of Lazarus List Sent: Monday, May 06, 2013 6:20 PM Subject: Re: [Lazarus-es] Fwd: Error al compilar ZEOSDBO-6.6.6-stable Maxi creo que no me di a entender, el mensaje que yo deje era la respuesta concreta para resolver ese error, lo que pasa es que la copie directamente del foro de delphi. Dejo editado aqui para evitar confuciones ======================================================== El error quiere decir que la implementaci�n del m�todo "QueryInterface" debe ser id�ntica a la declaraci�n en la interfaz IUnknown. Si te fijas en la interfaz est� declarada como. Unknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; StdCall y en la implementaci�n est�. function QueryInterface(const IID: TGUID; out Obj): HResult; virtual; stdcall; as� que en la implemantaci�n debe ser suficiente con cambiar const por constref ======================== Al corregir el error anterior se produce otro mas que se soluciona de la siguiente manera ============================ Buscar alguna de estas dos lineas en zeos.inc y arriba de ellas pegar los define que estan abajo. {$IFDEF VER2_5} {$DEFINE FPC2_5UP} Colocar estas lineas modificando el archivo zeos.inc que se encuentra en la carpeta scr en la carpeta del componente zeos {$DEFINE FPC2_5UP} {$DEFINE FPC2_4UP} {$DEFINE FPC2_3UP} {$DEFINE FPC2_2UP} {$DEFINE FPC2_1UP} {$DEFINE FPC2_UP} -- Saludos. Jose Daboin ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130509/84cc2ae4/attachment.html>

Reply by email

Jose Daboin
to Ismael L. Donis Garcia

Pegaste esto antes de compilar en el archivo zeos.inc

{$DEFINE FPC2_5UP}
{$DEFINE FPC2_4UP}
{$DEFINE FPC2_3UP}
{$DEFINE FPC2_2UP}
{$DEFINE FPC2_1UP}
{$DEFINE FPC2_UP}

El 9 de mayo de 2013 08:40, Ismael L. Donis Garcia <ismael en citricos.co.cu>escribi�:

Show quoted text 116 lines
** Ante todo Perdon por no haber contestado antes, debido a que no fue hasta ahora que me siento delante de la PC. Por cuestiones de trabajo me encontraba ausente. Ya con la soluci�n que me has dado pas� esa parte de la compilaci�n sin problema alguno. Ahora me est� dando problemas en el archivo: C:\lazarus\components\ZEOSDBO-6.6.6-stable\src\component\ZAbstractRODataset.pas(3116,48) Error: Expected another 2 array elements Espec�ficamente en la funci�n: procedure TZAbstractRODataset.CheckFieldCompatibility(Field: TField;FieldDef: TFieldDef); {$IFDEF FPC} const BaseFieldTypes: array[TFieldType] of TFieldType = ( ftUnknown, ftString, ftInteger, ftInteger, ftInteger, ftBoolean, ftFloat, ftFloat, ftBCD, ftDateTime, ftDateTime, ftDateTime, ftBytes, ftVarBytes, ftInteger, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftUnknown, ftString, ftString, ftLargeInt, ftADT, ftArray, ftReference, ftDataSet, ftBlob, ftBlob, ftVariant, ftInterface, ftInterface, ftString, ftTimeStamp, ftFMTBcd {$IFDEF FPC2_1UP}, ftString, ftBlob{$ENDIF}); Me dice que faltan 2 elementos. Si miro la otra que sigue m�s abajo si tiene los 2 elementos: {$ELSE} {$IFDEF VER180} const BaseFieldTypes: array[TFieldType] of TFieldType = ( ftUnknown, ftString, ftInteger, ftInteger, ftInteger, ftBoolean, ftFloat, ftFloat, ftBCD, ftDateTime, ftDateTime, ftDateTime, ftBytes, ftVarBytes, ftInteger, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftUnknown, ftString, ftString, ftLargeInt, ftADT, ftArray, ftReference, ftDataSet, ftBlob, ftBlob, ftVariant, ftInterface, ftInterface, ftString, ftTimeStamp, ftFMTBcd, ftFixedWideChar,ftWideMemo,ftOraTimeStamp,ftOraInterval); {$ELSE} Que me les debo poner para solucionar este problema? Desde Ya Gracias a todos los que de una forma u otra han intentado ayudar. ========= || ISMAEL || ========= Website: www.sisconge.byethost15.com ----- Original Message ----- *From:* Jose Daboin <metalbox9000 en gmail.com> *To:* Spanish version of Lazarus List<lazarus-es en lists.lazarus.freepascal.org> *Sent:* Monday, May 06, 2013 6:20 PM *Subject:* Re: [Lazarus-es] Fwd: Error al compilar ZEOSDBO-6.6.6-stable Maxi creo que no me di a entender, el mensaje que yo deje era la respuesta concreta para resolver ese error, lo que pasa es que la copie directamente del foro de delphi. Dejo editado aqui para evitar confuciones ======================================================== El error quiere decir que la implementaci�n del m�todo "QueryInterface" debe ser id�ntica a la declaraci�n en la interfaz IUnknown. Si te fijas en la interfaz est� declarada como. Unknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; StdCall y en la implementaci�n est�. function QueryInterface(const IID: TGUID; out Obj): HResult; virtual; stdcall; as� que en la implemantaci�n debe ser suficiente con cambiar const por constref ======================== Al corregir el error anterior se produce otro mas que se soluciona de la siguiente manera ============================ Buscar alguna de estas dos lineas en zeos.inc y arriba de ellas pegar los define que estan abajo. {$IFDEF VER2_5} {$DEFINE FPC2_5UP} Colocar estas lineas modificando el archivo zeos.inc que se encuentra en la carpeta scr en la carpeta del componente zeos {$DEFINE FPC2_5UP} {$DEFINE FPC2_4UP} {$DEFINE FPC2_3UP} {$DEFINE FPC2_2UP} {$DEFINE FPC2_1UP} {$DEFINE FPC2_UP} -- *Saludos. Jose Daboin* _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
*Saludos. Jose Daboin* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130509/c6cd3bbe/attachment.html>

Reply by email

Ismael L. Donis Garcia
to Jose Daboin

Si, si lo puse. Pero lo que me es� diciendo es que le faltan 2 arreglos en esa declaraci�n.

Al archivo Zeos.inc le puse lo que sigue:

// Compilation directives for Lazarus
{$IFDEF FPC}
  {$MODE DELPHI}
  {$INTERFACES COM}
  {$DEFINE VER130BELOW}
  {$DEFINE VER140BELOW}
  // We assume 2 levels is sufficient.
  // The higher the third number in a version, the better... (we hope)
  {$IFDEF VER2_5}
  {$DEFINE FPC2_5UP}
  {$DEFINE FPC2_4UP}
  {$DEFINE FPC2_3UP}
  {$DEFINE FPC2_2UP}
  {$DEFINE FPC2_1UP}
  {$DEFINE FPC2_UP}
  {$ENDIF}
  {$IFDEF VER2_4}
    {$DEFINE FPC2_4UP}
    {$DEFINE FPC2_3UP}
    {$DEFINE FPC2_2UP}
    {$DEFINE FPC2_1UP}
  {$DEFINE FPC2_UP}
  {$ENDIF}
  {$IFDEF VER2_3}
    {$DEFINE FPC2_3UP}
    {$DEFINE FPC2_2UP}
    {$DEFINE FPC2_1UP}
  {$DEFINE FPC2_UP}
  {$ENDIF}
  {$IFDEF VER2_2}
    {$DEFINE FPC2_2UP}
    {$DEFINE FPC2_1UP}
  {$DEFINE FPC2_UP}
  {$ENDIF}
  {$IFDEF VER2_1}
    {$DEFINE FPC2_1UP}
  {$DEFINE FPC2_UP}
  {$ENDIF}
  {$IFDEF VER2}
    {$DEFINE FPC2_UP}
  {$ENDIF}
{$ENDIF}

Saludos Reiterados
=========
|| ISMAEL ||
=========
Website: www.sisconge.byethost15.com

Earlier message 72 lines
----- Original Message ----- From: Jose Daboin To: Spanish version of Lazarus List Sent: Thursday, May 09, 2013 10:11 AM Subject: Re: [Lazarus-es] Fwd: Error al compilar ZEOSDBO-6.6.6-stable Pegaste esto antes de compilar en el archivo zeos.inc {$DEFINE FPC2_5UP} {$DEFINE FPC2_4UP} {$DEFINE FPC2_3UP} {$DEFINE FPC2_2UP} {$DEFINE FPC2_1UP} {$DEFINE FPC2_UP} El 9 de mayo de 2013 08:40, Ismael L. Donis Garcia <ismael en citricos.co.cu> escribi�: Ante todo Perdon por no haber contestado antes, debido a que no fue hasta ahora que me siento delante de la PC. Por cuestiones de trabajo me encontraba ausente. Ya con la soluci�n que me has dado pas� esa parte de la compilaci�n sin problema alguno. Ahora me est� dando problemas en el archivo: C:\lazarus\components\ZEOSDBO-6.6.6-stable\src\component\ZAbstractRODataset.pas(3116,48) Error: Expected another 2 array elements Espec�ficamente en la funci�n: procedure TZAbstractRODataset.CheckFieldCompatibility(Field: TField;FieldDef: TFieldDef); {$IFDEF FPC} const BaseFieldTypes: array[TFieldType] of TFieldType = ( ftUnknown, ftString, ftInteger, ftInteger, ftInteger, ftBoolean, ftFloat, ftFloat, ftBCD, ftDateTime, ftDateTime, ftDateTime, ftBytes, ftVarBytes, ftInteger, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftUnknown, ftString, ftString, ftLargeInt, ftADT, ftArray, ftReference, ftDataSet, ftBlob, ftBlob, ftVariant, ftInterface, ftInterface, ftString, ftTimeStamp, ftFMTBcd {$IFDEF FPC2_1UP}, ftString, ftBlob{$ENDIF}); Me dice que faltan 2 elementos. Si miro la otra que sigue m�s abajo si tiene los 2 elementos: {$ELSE} {$IFDEF VER180} const BaseFieldTypes: array[TFieldType] of TFieldType = ( ftUnknown, ftString, ftInteger, ftInteger, ftInteger, ftBoolean, ftFloat, ftFloat, ftBCD, ftDateTime, ftDateTime, ftDateTime, ftBytes, ftVarBytes, ftInteger, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftUnknown, ftString, ftString, ftLargeInt, ftADT, ftArray, ftReference, ftDataSet, ftBlob, ftBlob, ftVariant, ftInterface, ftInterface, ftString, ftTimeStamp, ftFMTBcd, ftFixedWideChar,ftWideMemo,ftOraTimeStamp,ftOraInterval); {$ELSE} Que me les debo poner para solucionar este problema? Desde Ya Gracias a todos los que de una forma u otra han intentado ayudar. ========= || ISMAEL || ========= Website: www.sisconge.byethost15.com -- Saludos. Jose Daboin ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130509/6c4f740e/attachment-0001.html>

Reply by email

Jose Daboin
to Ismael L. Donis Garcia

Para simplificar todo te mando el contenido del archivo zeos.ini que yo modifique segun la pagina de lazarus para solucionar errores y me funciono. Copia este contenido, haz una copia de zeos.inc por si a caso, abre zeos.inc con un bloc de notas, borra todo y pega todo lo que aqui te deje desde el conchete con el arroba lo guardas, por si acaso quita el componente zeos de la lista de instalacion de componentes y vuelves a cargar el .lpk y compilas a ver que pasa.

{ Copyright (c) 1999-2006 Zeos Development Group } { } { License Agreement: } { } { This library is distributed in the hope that it will be } { useful, but WITHOUT ANY WARRANTY; without even the } { implied warranty of MERCHANTABILITY or FITNESS FOR } { A PARTICULAR PURPOSE. See the GNU Lesser General } { Public License for more details. } { } { The source code of the ZEOS Libraries and packages are } { distributed under the Library GNU General Public } { License (see the file COPYING / COPYING.ZEOS) } { with the following modification: } { As a special exception, the copyright holders of this } { library give you permission to link this library with } { independent modules to produce an executable, } { regardless of the license terms of these independent } { modules, and to copy and distribute the resulting } { executable under terms of your choice, provided that } { you also meet, for each linked independent module, } { the terms and conditions of the license of that module. } { An independent module is a module which is not derived } { from or based on this library. If you modify this } { library, you may extend this exception to your version } { of the library, but you are not obligated to do so. } { If you do not wish to do so, delete this exception } { statement from your version. } { } { } { The project web site is located on: } { http://zeos.firmos.at (FORUM) } { http://zeosbugs.firmos.at (BUGTRACKER) } { svn://zeos.firmos.at/zeos/trunk (SVN Repository) } { } { http://www.sourceforge.net/projects/zeoslib. } { http://www.zeoslib.sourceforge.net } { } { } { } { Zeos Development Group. }

// Compilation directives for Lazarus
{$IFDEF FPC}
  {$MODE DELPHI}
  {$INTERFACES COM}
  {$DEFINE VER130BELOW}
  {$DEFINE VER140BELOW}
  // We assume 2 levels is sufficient.
  // The higher the third number in a version, the better... (we hope)
   {$DEFINE FPC2_5UP}
  {$DEFINE FPC2_4UP}
  {$DEFINE FPC2_3UP}
  {$DEFINE FPC2_2UP}
  {$DEFINE FPC2_1UP}
  {$DEFINE FPC2_UP}
  {$IFDEF VER2_5}
    {$DEFINE FPC2_5UP}
    {$DEFINE FPC2_4UP}
    {$DEFINE FPC2_3UP}
    {$DEFINE FPC2_2UP}
    {$DEFINE FPC2_1UP}
  {$ENDIF}
  {$IFDEF VER2_4}
    {$DEFINE FPC2_4UP}
    {$DEFINE FPC2_3UP}
    {$DEFINE FPC2_2UP}
    {$DEFINE FPC2_1UP}
  {$ENDIF}
  {$IFDEF VER2_3}
    {$DEFINE FPC2_3UP}
    {$DEFINE FPC2_2UP}
    {$DEFINE FPC2_1UP}
  {$ENDIF}
  {$IFDEF VER2_2}
    {$DEFINE FPC2_2UP}
    {$DEFINE FPC2_1UP}
  {$ENDIF}
  {$IFDEF VER2_1}
    {$DEFINE FPC2_1UP}
  {$ENDIF}
  {$IFDEF VER2}
    {$DEFINE FPC2_UP}
  {$ENDIF}
{$ENDIF}
// Compilation directives for Delphi4
{$IFDEF VER120}
{$DEFINE VER125BELOW}
{$DEFINE VER130BELOW}
{$DEFINE VER130KBELOW}
{$DEFINE VER140BELOW}
{$ENDIF}
// Compilation directives for Delphi 5
{$IFDEF VER130}
{$DEFINE VER130BELOW}
{$DEFINE VER140BELOW}
{$ENDIF}
// Compilation directives for Delphi 6
{$IFDEF VER140}
{$DEFINE VER140BELOW}
{$ENDIF}
// Compilation directives for Delphi 7
{$IFDEF VER150}
  {$DEFINE VER150BELOW}
{$ENDIF}
// Compilation directives for Delphi 8
{$IFDEF VER160}
  {$DEFINE VER160BELOW}
{$ENDIF}
// Compilation directives for Delphi 9 (DELPHI 2005)
{$IFDEF VER170}
  {$DEFINE VER170BELOW}
  {$DEFINE BDS}
  {$DEFINE BDS3}
  {$DEFINE BDS3_UP}
  {$DEFINE COMPILER9}
  {$DEFINE COMPILER9_UP}
  {$DEFINE DELPHI9}
  {$DEFINE DELPHI9_UP}
{$ENDIF}
// Compilation directives for BDS 2006 (Delphi 2006, BCB 2006)
{$IFDEF VER180}
  {$DEFINE VER180BELOW}
  {$DEFINE BDS}
  {$DEFINE BDS4}
  {$DEFINE BDS4_UP}
  {$DEFINE COMPILER10}
  {$DEFINE COMPILER10_UP}
  {$IFDEF BCB}
    {$DEFINE BCB10}
    {$DEFINE BCB10_UP}
  {$ELSE}
    {$DEFINE DELPHI10}
    {$DEFINE DELPHI10_UP}
  {$ENDIF}
{$ENDIF}
{$IFDEF FREEBSD}
  {$DEFINE UNIX}
{$ENDIF}
{$IFDEF LINUX}
  {$DEFINE UNIX}
{$ENDIF}
// Debug/release compiler options
{$D+}
{$IFOPT D-}
{$DEFINE BINARY_RELEASE}
{$ENDIF}
{$IFDEF BINARY_RELEASE}
// Settings for Release mode
{$C-}
{$I-}
{$R-}
{$L-}
{$Q-}
{$IFNDEF FPC}
{$O+}
{$W-}
{$ENDIF}
{$ELSE}

// Settings for Debug mode
{.$C+}
{.$I+}
{.$R+}
{.$L+}
{.$Q+}
{.$IFNDEF FPC}
{.$O-}
{.$W+}
{.$ENDIF}

{$ENDIF}
// Disables checking code.
// Use Range checking option to turn on/off optimization
{$IFOPT R-}
{$DEFINE DISABLE_CHECKING}
{$ENDIF}
// Enables MySQL support in TZConnection/TZDataset
{$IFNDEF ZEOS_DISABLE_MYSQL}
{$DEFINE ENABLE_MYSQL}
// Enables Mysql 3.x and 4.0 support
// These versions are deprecated and will not be supported in future
versions of zeoslib.
{.$DEFINE ENABLE_MYSQL_DEPRECATED}
{$ENDIF}
// Enables PostgreSQL support in TZConnection/TZDataset
{$IFNDEF ZEOS_DISABLE_POSTGRESQL}
{$DEFINE ENABLE_POSTGRESQL}
{$ENDIF}
// Enables Sybase/MSSQL support in TZConnection/TZDataset
{$IFNDEF ZEOS_DISABLE_DBLIB}
{$DEFINE ENABLE_DBLIB}
{$ENDIF}
// Enables ADO support in TZConnection/TZDataset
{$IFNDEF ZEOS_DISABLE_ADO}
{$IFNDEF FPC}
 {$IFNDEF UNIX}
  {$DEFINE ENABLE_ADO}
 {$ENDIF}
{$ENDIF}
{$ENDIF}
// Enables Interbase/Firebird support in TZConnection/TZDataset
{$IFNDEF ZEOS_DISABLE_INTERBASE}
{$DEFINE ENABLE_INTERBASE}
{$ENDIF}
// Enables SQLite support in TZConnection/TZDataset
{$IFNDEF ZEOS_DISABLE_SQLITE}
{$DEFINE ENABLE_SQLITE}
{$ENDIF}
// Enables Oracle support in TZConnection/TZDataset
{$IFNDEF ZEOS_DISABLE_ORACLE}
{$DEFINE ENABLE_ORACLE}
{$ENDIF}
// Enables ASA support in TZConnection/TZDataset
{$IFNDEF ZEOS_DISABLE_ASA}
{$DEFINE ENABLE_ASA}
{$ENDIF}
// Supported language. Now available languages:
// ENGLISH, GERMAN, PORTUGUESE, DUTCH, SPANISH, ROMANA, INDONESIAN,
RUSSIAN, CZECH, POLISH
{$DEFINE ENGLISH}
// Prevents loading default libmysql.dll
{.$DEFINE MYSQL_STRICT_DLL_LOADING}
// Prevents loading default firebird.dll
{.$DEFINE FIREBIRD_STRICT_DLL_LOADING}
// Prevents loading default libpq.dll
{.$DEFINE POSTGRESQL_STRICT_DLL_LOADING}
//Allows to see SQL exceptions as strings
{$DEFINE INTERBASE_EXTENDED_MESSAGES}
// Loads libcrypt.so before Firebird client library.
// It fixes error "Undefined symbol: crypt".
{$DEFINE INTERBASE_CRYPT}
// Excludes old ZeosDBO from the performance tests
{$DEFINE EXCLUDE_OLD_ZEOS_TEST}
// Excludes DBExpress from the performance tests
{$DEFINE EXCLUDE_DBX_TEST}
// Excludes IBX from the performance tests
{$DEFINE EXCLUDE_IBX_TEST}
// Excludes BDE from the performance tests
{$DEFINE EXCLUDE_BDE_TEST}
// Registers property editors for the components.
{$DEFINE WITH_PROPERTY_EDITOR}
// Turn on IProviderSupport interface
{$IFNDEF FPC}
{$IFNDEF VER125BELOW}
{$DEFINE WITH_IPROVIDER}
{$ENDIF}
{$ENDIF}
// Turn on multithreading
{$DEFINE MULTI_THREADED}
// In Version 6.1.5 there are several bugs with the TZSQLMetadata-Component
// For Version 6.5.0 you should uncomment the following line
{$DEFINE USE_METADATA}
// A large database may have many tables, colums and/or procedures!!!
// Therefore there is the ability to show a warning
// before retrieving a list of these database objects
// {$DEFINE SHOW_WARNING}
// Use libfbclient.so under linux
// and not libfbembed.so when Firebird 1.5.2 is used under linux
{$DEFINE USELIBFBCLIENTSO}
// Use SynEdit for the SQL Editors.
// Uncomment it when you will use SynEdit instead of a MemoEdit.
// The SynEdit component must be installed on your system.
// You can get SynEdit at http://synedit.sourceforge.net/
//{$DEFINE USE_SYNEDIT}
// Compile test applications with a graphical user interface (GUI)
// Comment this definition if you want to compile console test applications
{.$DEFINE TESTGUI}
//PATCH TO DO NO METADATALOADING / UNTESTED HIGH RISK
{.$DEFINE FOSNOMETA}

El 9 de mayo de 2013 10:17, Ismael L. Donis Garcia <ismael en citricos.co.cu>escribi�:

Show quoted text 152 lines
** Si, si lo puse. Pero lo que me es� diciendo es que le faltan 2 arreglos en esa declaraci�n. Al archivo Zeos.inc le puse lo que sigue: // Compilation directives for Lazarus {$IFDEF FPC} {$MODE DELPHI} {$INTERFACES COM} {$DEFINE VER130BELOW} {$DEFINE VER140BELOW} // We assume 2 levels is sufficient. // The higher the third number in a version, the better... (we hope) {$IFDEF VER2_5} {$DEFINE FPC2_5UP} {$DEFINE FPC2_4UP} {$DEFINE FPC2_3UP} {$DEFINE FPC2_2UP} {$DEFINE FPC2_1UP} {$DEFINE FPC2_UP} {$ENDIF} {$IFDEF VER2_4} {$DEFINE FPC2_4UP} {$DEFINE FPC2_3UP} {$DEFINE FPC2_2UP} {$DEFINE FPC2_1UP} {$DEFINE FPC2_UP} {$ENDIF} {$IFDEF VER2_3} {$DEFINE FPC2_3UP} {$DEFINE FPC2_2UP} {$DEFINE FPC2_1UP} {$DEFINE FPC2_UP} {$ENDIF} {$IFDEF VER2_2} {$DEFINE FPC2_2UP} {$DEFINE FPC2_1UP} {$DEFINE FPC2_UP} {$ENDIF} {$IFDEF VER2_1} {$DEFINE FPC2_1UP} {$DEFINE FPC2_UP} {$ENDIF} {$IFDEF VER2} {$DEFINE FPC2_UP} {$ENDIF} {$ENDIF} Saludos Reiterados ========= || ISMAEL || ========= Website: www.sisconge.byethost15.com ----- Original Message ----- *From:* Jose Daboin <metalbox9000 en gmail.com> *To:* Spanish version of Lazarus List<lazarus-es en lists.lazarus.freepascal.org> *Sent:* Thursday, May 09, 2013 10:11 AM *Subject:* Re: [Lazarus-es] Fwd: Error al compilar ZEOSDBO-6.6.6-stable Pegaste esto antes de compilar en el archivo zeos.inc {$DEFINE FPC2_5UP} {$DEFINE FPC2_4UP} {$DEFINE FPC2_3UP} {$DEFINE FPC2_2UP} {$DEFINE FPC2_1UP} {$DEFINE FPC2_UP} El 9 de mayo de 2013 08:40, Ismael L. Donis Garcia <ismael en citricos.co.cu>escribi�: > ** > Ante todo Perdon por no haber contestado antes, debido a que no fue hasta > ahora que me siento delante de la PC. Por cuestiones de trabajo me > encontraba ausente. > > Ya con la soluci�n que me has dado pas� esa parte de la compilaci�n sin > problema alguno. Ahora me est� dando problemas en el archivo: > > C:\lazarus\components\ZEOSDBO-6.6.6-stable\src\component\ZAbstractRODataset.pas(3116,48) > Error: Expected another 2 array elements > Espec�ficamente en la funci�n: > > procedure TZAbstractRODataset.CheckFieldCompatibility(Field: > TField;FieldDef: TFieldDef); > > {$IFDEF FPC} > const > BaseFieldTypes: array[TFieldType] of TFieldType = ( > ftUnknown, ftString, ftInteger, ftInteger, ftInteger, ftBoolean, > ftFloat, > ftFloat, ftBCD, ftDateTime, ftDateTime, ftDateTime, ftBytes, > ftVarBytes, > ftInteger, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, > ftUnknown, > ftString, ftString, ftLargeInt, ftADT, ftArray, ftReference, > ftDataSet, > ftBlob, ftBlob, ftVariant, ftInterface, ftInterface, ftString, > ftTimeStamp, ftFMTBcd > {$IFDEF FPC2_1UP}, ftString, ftBlob{$ENDIF}); > > Me dice que faltan 2 elementos. Si miro la otra que sigue m�s abajo si > tiene los 2 elementos: > > {$ELSE} > {$IFDEF VER180} > const > BaseFieldTypes: array[TFieldType] of TFieldType = ( > ftUnknown, ftString, ftInteger, ftInteger, ftInteger, ftBoolean, > ftFloat, > ftFloat, ftBCD, ftDateTime, ftDateTime, ftDateTime, ftBytes, > ftVarBytes, > ftInteger, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, ftBlob, > ftUnknown, > ftString, ftString, ftLargeInt, ftADT, ftArray, ftReference, > ftDataSet, > ftBlob, ftBlob, ftVariant, ftInterface, ftInterface, ftString, > ftTimeStamp, ftFMTBcd, > ftFixedWideChar,ftWideMemo,ftOraTimeStamp,ftOraInterval); > {$ELSE} > > Que me les debo poner para solucionar este problema? > > Desde Ya Gracias a todos los que de una forma u otra han intentado ayudar. > ========= > || ISMAEL || > ========= > Website: www.sisconge.byethost15.com > > > -- > *Saludos. > > Jose Daboin* > > _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
*Saludos. Jose Daboin* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130509/3ac63c4d/attachment-0001.html>

Reply by email

Ismael L. Donis Garcia
to Jose Daboin

Compilo Perfecto.

1 Mill�n de Gracias
=========
|| ISMAEL ||
=========
Website: www.sisconge.byethost15.com

Earlier message 338 lines
----- Original Message ----- From: Jose Daboin To: Spanish version of Lazarus List Sent: Thursday, May 09, 2013 11:15 AM Subject: Re: [Lazarus-es] Fwd: Error al compilar ZEOSDBO-6.6.6-stable Para simplificar todo te mando el contenido del archivo zeos.ini que yo modifique segun la pagina de lazarus para solucionar errores y me funciono. Copia este contenido, haz una copia de zeos.inc por si a caso, abre zeos.inc con un bloc de notas, borra todo y pega todo lo que aqui te deje desde el conchete con el arroba lo guardas, por si acaso quita el componente zeos de la lista de instalacion de componentes y vuelves a cargar el .lpk y compilas a ver que pasa. { Copyright (c) 1999-2006 Zeos Development Group } { } { License Agreement: } { } { This library is distributed in the hope that it will be } { useful, but WITHOUT ANY WARRANTY; without even the } { implied warranty of MERCHANTABILITY or FITNESS FOR } { A PARTICULAR PURPOSE. See the GNU Lesser General } { Public License for more details. } { } { The source code of the ZEOS Libraries and packages are } { distributed under the Library GNU General Public } { License (see the file COPYING / COPYING.ZEOS) } { with the following modification: } { As a special exception, the copyright holders of this } { library give you permission to link this library with } { independent modules to produce an executable, } { regardless of the license terms of these independent } { modules, and to copy and distribute the resulting } { executable under terms of your choice, provided that } { you also meet, for each linked independent module, } { the terms and conditions of the license of that module. } { An independent module is a module which is not derived } { from or based on this library. If you modify this } { library, you may extend this exception to your version } { of the library, but you are not obligated to do so. } { If you do not wish to do so, delete this exception } { statement from your version. } { } { } { The project web site is located on: } { http://zeos.firmos.at (FORUM) } { http://zeosbugs.firmos.at (BUGTRACKER) } { svn://zeos.firmos.at/zeos/trunk (SVN Repository) } { } { http://www.sourceforge.net/projects/zeoslib. } { http://www.zeoslib.sourceforge.net } { } { } { } { Zeos Development Group. } // Compilation directives for Lazarus {$IFDEF FPC} {$MODE DELPHI} {$INTERFACES COM} {$DEFINE VER130BELOW} {$DEFINE VER140BELOW} // We assume 2 levels is sufficient. // The higher the third number in a version, the better... (we hope) {$DEFINE FPC2_5UP} {$DEFINE FPC2_4UP} {$DEFINE FPC2_3UP} {$DEFINE FPC2_2UP} {$DEFINE FPC2_1UP} {$DEFINE FPC2_UP} {$IFDEF VER2_5} {$DEFINE FPC2_5UP} {$DEFINE FPC2_4UP} {$DEFINE FPC2_3UP} {$DEFINE FPC2_2UP} {$DEFINE FPC2_1UP} {$ENDIF} {$IFDEF VER2_4} {$DEFINE FPC2_4UP} {$DEFINE FPC2_3UP} {$DEFINE FPC2_2UP} {$DEFINE FPC2_1UP} {$ENDIF} {$IFDEF VER2_3} {$DEFINE FPC2_3UP} {$DEFINE FPC2_2UP} {$DEFINE FPC2_1UP} {$ENDIF} {$IFDEF VER2_2} {$DEFINE FPC2_2UP} {$DEFINE FPC2_1UP} {$ENDIF} {$IFDEF VER2_1} {$DEFINE FPC2_1UP} {$ENDIF} {$IFDEF VER2} {$DEFINE FPC2_UP} {$ENDIF} {$ENDIF} // Compilation directives for Delphi4 {$IFDEF VER120} {$DEFINE VER125BELOW} {$DEFINE VER130BELOW} {$DEFINE VER130KBELOW} {$DEFINE VER140BELOW} {$ENDIF} // Compilation directives for Delphi 5 {$IFDEF VER130} {$DEFINE VER130BELOW} {$DEFINE VER140BELOW} {$ENDIF} // Compilation directives for Delphi 6 {$IFDEF VER140} {$DEFINE VER140BELOW} {$ENDIF} // Compilation directives for Delphi 7 {$IFDEF VER150} {$DEFINE VER150BELOW} {$ENDIF} // Compilation directives for Delphi 8 {$IFDEF VER160} {$DEFINE VER160BELOW} {$ENDIF} // Compilation directives for Delphi 9 (DELPHI 2005) {$IFDEF VER170} {$DEFINE VER170BELOW} {$DEFINE BDS} {$DEFINE BDS3} {$DEFINE BDS3_UP} {$DEFINE COMPILER9} {$DEFINE COMPILER9_UP} {$DEFINE DELPHI9} {$DEFINE DELPHI9_UP} {$ENDIF} // Compilation directives for BDS 2006 (Delphi 2006, BCB 2006) {$IFDEF VER180} {$DEFINE VER180BELOW} {$DEFINE BDS} {$DEFINE BDS4} {$DEFINE BDS4_UP} {$DEFINE COMPILER10} {$DEFINE COMPILER10_UP} {$IFDEF BCB} {$DEFINE BCB10} {$DEFINE BCB10_UP} {$ELSE} {$DEFINE DELPHI10} {$DEFINE DELPHI10_UP} {$ENDIF} {$ENDIF} {$IFDEF FREEBSD} {$DEFINE UNIX} {$ENDIF} {$IFDEF LINUX} {$DEFINE UNIX} {$ENDIF} // Debug/release compiler options {$D+} {$IFOPT D-} {$DEFINE BINARY_RELEASE} {$ENDIF} {$IFDEF BINARY_RELEASE} // Settings for Release mode {$C-} {$I-} {$R-} {$L-} {$Q-} {$IFNDEF FPC} {$O+} {$W-} {$ENDIF} {$ELSE} // Settings for Debug mode {.$C+} {.$I+} {.$R+} {.$L+} {.$Q+} {.$IFNDEF FPC} {.$O-} {.$W+} {.$ENDIF} {$ENDIF} // Disables checking code. // Use Range checking option to turn on/off optimization {$IFOPT R-} {$DEFINE DISABLE_CHECKING} {$ENDIF} // Enables MySQL support in TZConnection/TZDataset {$IFNDEF ZEOS_DISABLE_MYSQL} {$DEFINE ENABLE_MYSQL} // Enables Mysql 3.x and 4.0 support // These versions are deprecated and will not be supported in future versions of zeoslib. {.$DEFINE ENABLE_MYSQL_DEPRECATED} {$ENDIF} // Enables PostgreSQL support in TZConnection/TZDataset {$IFNDEF ZEOS_DISABLE_POSTGRESQL} {$DEFINE ENABLE_POSTGRESQL} {$ENDIF} // Enables Sybase/MSSQL support in TZConnection/TZDataset {$IFNDEF ZEOS_DISABLE_DBLIB} {$DEFINE ENABLE_DBLIB} {$ENDIF} // Enables ADO support in TZConnection/TZDataset {$IFNDEF ZEOS_DISABLE_ADO} {$IFNDEF FPC} {$IFNDEF UNIX} {$DEFINE ENABLE_ADO} {$ENDIF} {$ENDIF} {$ENDIF} // Enables Interbase/Firebird support in TZConnection/TZDataset {$IFNDEF ZEOS_DISABLE_INTERBASE} {$DEFINE ENABLE_INTERBASE} {$ENDIF} // Enables SQLite support in TZConnection/TZDataset {$IFNDEF ZEOS_DISABLE_SQLITE} {$DEFINE ENABLE_SQLITE} {$ENDIF} // Enables Oracle support in TZConnection/TZDataset {$IFNDEF ZEOS_DISABLE_ORACLE} {$DEFINE ENABLE_ORACLE} {$ENDIF} // Enables ASA support in TZConnection/TZDataset {$IFNDEF ZEOS_DISABLE_ASA} {$DEFINE ENABLE_ASA} {$ENDIF} // Supported language. Now available languages: // ENGLISH, GERMAN, PORTUGUESE, DUTCH, SPANISH, ROMANA, INDONESIAN, RUSSIAN, CZECH, POLISH {$DEFINE ENGLISH} // Prevents loading default libmysql.dll {.$DEFINE MYSQL_STRICT_DLL_LOADING} // Prevents loading default firebird.dll {.$DEFINE FIREBIRD_STRICT_DLL_LOADING} // Prevents loading default libpq.dll {.$DEFINE POSTGRESQL_STRICT_DLL_LOADING} //Allows to see SQL exceptions as strings {$DEFINE INTERBASE_EXTENDED_MESSAGES} // Loads libcrypt.so before Firebird client library. // It fixes error "Undefined symbol: crypt". {$DEFINE INTERBASE_CRYPT} // Excludes old ZeosDBO from the performance tests {$DEFINE EXCLUDE_OLD_ZEOS_TEST} // Excludes DBExpress from the performance tests {$DEFINE EXCLUDE_DBX_TEST} // Excludes IBX from the performance tests {$DEFINE EXCLUDE_IBX_TEST} // Excludes BDE from the performance tests {$DEFINE EXCLUDE_BDE_TEST} // Registers property editors for the components. {$DEFINE WITH_PROPERTY_EDITOR} // Turn on IProviderSupport interface {$IFNDEF FPC} {$IFNDEF VER125BELOW} {$DEFINE WITH_IPROVIDER} {$ENDIF} {$ENDIF} // Turn on multithreading {$DEFINE MULTI_THREADED} // In Version 6.1.5 there are several bugs with the TZSQLMetadata-Component // For Version 6.5.0 you should uncomment the following line {$DEFINE USE_METADATA} // A large database may have many tables, colums and/or procedures!!! // Therefore there is the ability to show a warning // before retrieving a list of these database objects // {$DEFINE SHOW_WARNING} // Use libfbclient.so under linux // and not libfbembed.so when Firebird 1.5.2 is used under linux {$DEFINE USELIBFBCLIENTSO} // Use SynEdit for the SQL Editors. // Uncomment it when you will use SynEdit instead of a MemoEdit. // The SynEdit component must be installed on your system. // You can get SynEdit at http://synedit.sourceforge.net/ //{$DEFINE USE_SYNEDIT} // Compile test applications with a graphical user interface (GUI) // Comment this definition if you want to compile console test applications {.$DEFINE TESTGUI} //PATCH TO DO NO METADATALOADING / UNTESTED HIGH RISK {.$DEFINE FOSNOMETA} -- Saludos. Jose Daboin ------------------------------------------------------------------------------

Reply by email