[Lazarus-es] Problemas con la versión 1.6 de Lazarus

Maximiliano Duarte maximiliano.duarte en gmail.com
Mar Jul 19 15:26:45 CEST 2016


Si cargas elementos junto con alguna información extra como un puntero debes destruirlos sino empieza a comerse la memoria. Y la carga debe ser en un único momento. Ejemplo en el oncreate del form

-----Mensaje original-----
De: "francisco prieto" <fajprieto en gmail.com>
Enviado el: ‎19/‎07/‎2016 08:18
Para: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus-ide.org>
Asunto: Re: [Lazarus-es]Problemas con la versión 1.6 de Lazarus

Juan,


Mi experiencia con Combos en otros lenguajes me hace ser precavido con la cantidad de elementos... Si va a tener mas de 400 elementos, no uso un combo box, por el estudio que hizo Jesus debo suponer que tenes un loop en la carga de países, pero eso lo vas a tener que investigar. Mis combos en general no llegan a tener 100 elementos.


Saludos,


Pancho

Cordoba

Argentina



El lun., 18 jul. 2016 a las 16:58, Jesus Reyes A. (<jesusrmx en gmail.com>) escribió:

On Mon, 18 Jul 2016 13:35:21 -0500, Juan M. Puertas <soft.sirius en gmail.com> wrote:


Hola amigos.

Muchas gracias por contestar.

Yo trabajo con Linux Mint 17.3 y ahora he hecho la prueba con Windows 7, el resultado es el mismo en ambos sistemas operativos, con Lazarus 1.4.4 funciona bien, con Lazarus 1.6 funciona mal.

El código fuente del programa es libre y puede obtenerse aquí:
http://astroser.net/syrius_fuente.zip Viene bien, si alguien tiene curiosidad por saber donde estaban los planetas cuando nació :-)

Es extraño que a ti Francisco te funcione bien, quizás es el tamaño del TComboBox, el mio es de cientos de elementos.

Saludos :-)



Después de algunos cambios he podido compilar y ejecutar el programa, primero los cambios para si alguien lo quiere intentar:


1. Cambie Familia CPU objetivo de i386 a predeterminada. Esto es por que estoy compilando para xubuntu 64 bits y en realidad a menos que quieras hacer crosscompiling el mejor valor debe ser "predeterminada".


2. Este programa requiere la libreria "C library for the Swiss Ephemeris", en ningún lugar lo dice pero sin esto funciona (sorry si no busqué lo suficiente), por cierto este programa requiere en xubuntu que se instale el paquete: libswe-dev éste paquete es necesario pues provee el archivo /usr/lib/x86_64-linux-gnu/libswe.so que es el que se carga dinámicamente. Por cierto el otro cambio que tuve que hacer en lugar de  astro_Handle := LoadLibrary(s + 'libswe.so'); usar astro_Handle := LoadLibrary('libswe.so'); dado que en linux no puedes cargar tu dll desde tu directorio (a menos que uses el truco de LD_LIBRARY_PATH). Otro por cierto, me parece que el par de funciones que se usan se deberían cargar una sola vez y al final liberar los recursos, mañana veré si puedo mejorar esto un poco.


Lo que de momento pude observar en el combobox de "Lugar de nacimiento" es que esta introduciendo infinidad de veces el mismo país. Se me acabó el tiempo por hoy, Mañana intentaré ver que es lo que esta pasando ahí.


Saludos.


Jesus Reyes A.
_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus-es
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20160719/aca26025/attachment.html>


More information about the Lazarus-es mailing list