Forum > Spanish

Observaciones sobre cosas que no funcionan bien

<< < (2/2)

GAN:
Hola jma_sp el tema del nombre de las unidades a mí también me sucede y programo sobre Linux, cuando creo una unidad automáticamente la agrega al .lpr con el nombre unit1 luego le cambio el nombre, compilo y salta el error, pero ya me acostumbré para ser sincero y no le doy mucha importancia, pero el error existe, no eres el único.

Para el resto de los temas es necesario un ejemplo pues cuando se reporta un bug te piden un código para reproducir el bug.

Saludos.

jmm72:

--- Quote from: jma_sp on May 04, 2017, 10:05:10 am ---- En un formulario cualquiera, cuando emplazo los componentes, estos muestran las líneas de alineamiento y suele ser habitual que no coincidan en el enrrasado. Lo que hago es que extiendo más el ancho o muevo el componente, lo dejo ahí, luego lo retorno y parece que ya si va el enrrasado, cuando ni con esas o bien procedo a la alineación del bloque de componentes o con el inspector de objetos, pero es algo que sucede desde que uso Lazarus.
--- End quote ---

Sí, al parecer el alineado no funciona al crear el objeto la primera vez. Además hay controles que al intentar modificar su tamaño visualmente solo admiten unos tamaños con múltiplos determinados. Cosa que se puede obviar al editar el tamaño manualmente en el inspector de objetos. Eso es cuestión del control. Pero lo primero sí es un bug, o una limitación del editor visual del forms. Seguro que ya está en el bug tracker, pero puedes mirar para seguir el rastro y ver si quizás es una limitación que por el momento es insalvable.



--- Quote from: jma_sp on May 04, 2017, 10:05:10 am ---- Cuando tenemos un formulario cuyas dimensiones superan las de la pantalla física no hay scroll vertical y horizontal funcionales para seguir el diseño visual sino que la única manera es valerse del inspector de objetos para con left, top, width emplazarlos correctamente.

- Cuando tenemos un formulario en modo diseño y lo dejamos más reducido para tener acceso a otras ventanas y tratamos de desplazar con los scroll en dicho formulario por ejemplo para ubicar uno de los componentes, no hay manera, los scroll se mueven pero retornan a su posición origen sin actuar sobre el contenido del formulario (ocurre con ambos, horizontal y vertical).
--- End quote ---

Estos dos merecen un bug en el bug tracker. No te preocupes que si no son bugs, te corregirán amablemente y cerrarán el bug, pero me parece que sí lo son. Recuerda siempre buscar bien a ver si el bug ya está en el tracker.



--- Quote from: jma_sp on May 04, 2017, 10:05:10 am ---- Cuando creamos nuevas formas/unidades y ya compiladas y funcionando queremos por cualquier motivo cambiar el nombre de la unidad o del formulario, dichos cambios no se ven reflejados en el nombre de fichero y nombre de unidad y por tanto al reiniciar Lazarus las excluye de la aplicación. Tampoco cambia las referencias del código fuente.

   Realizando los cambios a mano si funciona pero es laborioso puesto también hay que modificar a mano los ficheros .lpi y .lpr.

--- End quote ---

Si solo cambias el nombre de la unidad, te va a dar errores ya que hay inconsistencias entre el nombre de la unidad, y el nombre del archivo en el que esta se halla. Se puede establecer que FPC busque una unidad A en un fichero B pero es mejor lo siguiente: En el menú de archivo, Guardar como... Guardas con un nuevo nombre. Te pregunta si quieres eliminar el fichero antiguo, y si quieres actualizar todas las referencias en los use de otras unidades/proyecto. Que es exactamente lo que haces a mano.



--- Quote from: jma_sp on May 04, 2017, 10:05:10 am ---- Recientemente haciendo un programilla que utiliza controles data-aware con sqlite estos de repente cambian de color de fondo, se hace la linea de recuadro más gruesa y desaparece el contenido. Todo vuelve a aparecer de nuevo con un form1.refresh y no siempre pasa, otras simplente se queda la imagen detras del formulario superpuesta parcialmente en el formulario.

   En este caso tengo dudas si es un problema de refresco de Lazarus, o de algo externo a el que esté produciéndolo. También tengo que probar si esto sucede cuando estos componentes están dentro de un tpanel o cualquier otro como tpagecontrol en lugar de directamente sobre el formulario.
--- End quote ---

Comprueba que esos controles no sean del tipo que tienes que encargarte tú del pintado. Si son componentes que vienen con Lazarus, hay probabilidades que que haya un pequeño tutorial o ejemplo de uso en la wiki.



--- Quote from: jma_sp on May 04, 2017, 10:05:10 am ---- Otro programilla simple que contine un treeview sobre un tpanel y unos pocos tbitbtn me genera un error de que no tiene componente padre asociado cuando es tan simple que no debería dar fallos ya que son componentes emplazados directamente sobre el formulario sin complejidades (este error lo genera tanto al compilarlo en la versión previa de Lazarus como la actual).

   El programa suele estar funcionando bien durante bastante rato, se maneja bien el treeview, realizo búsquedas en el treeview....pero de repente da ese error, no es molesto puesto que se abre de nuevo y funciona pero es curioso el error, igualmente no hay mucha profundidad de componentes sobre componentes.
--- End quote ---

Sin ver el código y el mensaje de error exacto, no te podemos decir nada. Los componentes básicos como TPanel, TBitBtn y TTreeView se usan tanto que me imagino y espero que los bugs con los usos más comunes hace tiempo que se han corregido. No es por echarte la culpa, pero hay demasiadas probabilidades de que sea algo en tu código. Yo he cometido errores tan sutiles que casi no pueden llamarse así; pero el código solo estaba siendo consistente, era simplemente mi desconocimiento de una particularidad de como se usa un cierto aspecto del control, o un pequeñísimo detalle que he realizado mil veces bien pero esta vez mal, y no me doy cuenta.

Como colofón a todos tus comentarios, aunque Lazarus todavía tiene muchos fallos y se puede mejorar en muchos aspectos, si algunas de las cosas que mencionas no funcionan, hay más probabilidades de que sean un 'estamos en ello' o de que sea algo que no has tenido en cuenta de tu código, que de que sean bugs que no están en el tracker.

En fin, si uno no pregunta, no aprende. Y si uno no se atreve a responder, tampoco sabe si hay algo que necesite reaprender...

Navigation

[0] Message Index

[*] Previous page

Go to full version