PDA

Ver la Versión Completa : Line too long (more than 1023 characters)


Programmer666
30-09-2012, 21:02:24
Buenas gente:

Tengo un programa que realiza varios cálculos de matemática y física, cuando abro el programa en D7 y lo trato de correr me tira 2 errores, uno es "Line too long (more than 1023 characters)" y otro que aparece al tratar de ver el código de la form y dice "One or more lines were too long and have been truncated", he leído otros post y hablan sobre abrir el .pas desde un editor de texto, pero el problema es que al abrir el .pas desde un editor de texto solo me aparecen espacios en blanco; y al abrir el .pas en Turbo Delphi me aparecen lineas de '0', por lo cual no puedo arreglar el texto tal y como dice en otros post. Sí alguien me puede decir que hacer ante este problema se lo agradecería mucho.

Gracias de antemano y saludos.

Casimiro Notevi
30-09-2012, 21:14:36
Pues no te queda otra que abrirlo con algún editor que pueda leer hexadecimal y echarle un vistazo eliminando caracteres que no correspondan, cortando líneas, etc.
Haz antes una copia del mismo y trabaja sobre esa copia, para tener de reserva siempre el original.
Si quieres puedes comprimirlo en zip y ponerlo aquí para que le echemos un vistazo.

Delphius
30-09-2012, 21:16:21
Sin conocer el código es difícil determinar donde está el error y en como proceder a eliminarlo.

Por la lo que dices pareciera que el error se debe a que estás intentando ingresar un string a una variable.
Se puede agregar mucho texto a una variable string, pero el compilador solo puede soportar cierto tamaño máximo por líneas. Asi que debe truncarse el texto. Algo así:

cadena := 'Un texto largo de no más de 256 caracteres' +
'Otro texto largo de 256 caracteres' +
'etc';

Pero sin ver el código está difícil saber exactamente si es esto el problema u otra cosa.

Saludos,

Programmer666
30-09-2012, 21:59:34
Estoy tratando de subir el programa, lo compimi a 218kb pero me dice que excedo por 119.4kb y en la ventana que me aparece al querer subir el archivo dice que el máximo es 293kb... alguna sugerencia?

Delphius
30-09-2012, 22:14:28
No adjuntes el exe y los dfm, coloca en el foro tu código... solamente lo que tienes en el pas. Y no te olvides de emplear las etiquetas [ DELPHI ] y [ /DELPHI ] (sin los espacios) para darle el formato.

Saludos,

Programmer666
30-09-2012, 22:27:49
El problema es que en las 2 .pas que tengo problema, los codigos son de 5500 lineas y 16000 lineas; pero me acabo de dar cuenta que si abro con el programa de hexagecimal los archivos que son tipo .~pas el codigo si aparece bien, mientras que con los que son .pas solo me siguen apareciendo espacios en blanco, alguna idea?

Casimiro Notevi
30-09-2012, 22:30:21
El ~.pas es un backup automático. Puedes copiarlo con otro nombre y abrirlo a ver.
Si funciona bien entonces sustitúyelos por el original que está mal.

Programmer666
30-09-2012, 22:37:42
Solo para quedar claro, borro el .pas, creo una copia del .~pas y le quito el ~ para que quede como el .pas?

Casimiro Notevi
30-09-2012, 22:46:48
Exacto. Pero no borres el .pas sino renómbralo para no perderlo, por si acaso ;)

Delphius
30-09-2012, 22:49:05
El problema es que en las 2 .pas que tengo problema, los codigos son de 5500 lineas y 16000 lineas; pero me acabo de dar cuenta que si abro con el programa de hexagecimal los archivos que son tipo .~pas el codigo si aparece bien, mientras que con los que son .pas solo me siguen apareciendo espacios en blanco, alguna idea?
El de 5,5 KLDC no debería ser problema... pero el de 16KLDC :eek: si es motivo de problemas.

Estoy empezando a pensar que justamente el error está en que superaste la cantidad de LDC que puede soportar una unidad. Creo que el límite era de 10KLDC.

¿Espacios en blanco? Pues habría que verlos... ¿Cuánto pesan esos archivos? Quizá lo más apropiado es que los subiera a algún sitio como mediafire, o pastebin por ejemplo. Lo que necesitamos ver son los .pas. los ~pas son archivos temporales nada más.

Saludos,

Casimiro Notevi
30-09-2012, 22:54:53
Lo que necesitamos ver son los .pas. los ~pas son archivos temporales nada más.

Que yo recuerde no son archivos temporales, sino la penúltima grabación del original, ya que la última es el propio .pas

Delphius
30-09-2012, 23:01:26
Que yo recuerde no son archivos temporales, sino la penúltima grabación del original, ya que la última es el propio .pas
Pues por eso: un archivo temporal. En el queda, temporalmente (1), los cambios que se han estado haciendo. ;)

(1) Que pueden quedarse hasta el fin de los días si uno no decide borrarlos :D

Saludos,

Casimiro Notevi
30-09-2012, 23:05:13
Pero actúa como una copia de seguridad, me explico: Abro un proyecto y escribo algo en el main.pas, le doy a guardar y cierro el proyecto.
En el ~.pas está justo el .pas antes de guardar esos cambios que he escrito. Por lo que le sirve para recuperar el fichero si se ha estropeado el .pas

Delphius
30-09-2012, 23:13:01
Pero actúa como una copia de seguridad, me explico: Abro un proyecto y escribo algo en el main.pas, le doy a guardar y cierro el proyecto.
En el ~.pas está justo el .pas antes de guardar esos cambios que he escrito. Por lo que le sirve para recuperar el fichero si se ha estropeado el .pas
Por supuesto, eso no lo discuto. A lo que intentaba apuntar es que en última lo que interesa es el pas porque justamente allí están los últimos códigos ingresados y es lo que en verdad importa que el compilador utiliza los pas para generar el ejecutable.

Yo en vez de sugerirle que haga un "restore" del ~.pas al .pas en todo caso le propondría que subiera a ambos a mediafire o algún otro servicio.

Saludos,

Casimiro Notevi
30-09-2012, 23:14:08
Por supuesto, claro, eso ya se lo he indicado, que lo guarde en un zip y lo ponga en algún sitio para que intentemos arreglarlo :)

Casimiro Notevi
30-09-2012, 23:30:16
El problema es que en las 2 .pas que tengo problema, los codigos son de 5500 lineas y 16000 lineas; pero me acabo de dar cuenta que si abro con el programa de hexagecimal los archivos que son tipo .~pas el codigo si aparece bien, mientras que con los que son .pas solo me siguen apareciendo espacios en blanco, alguna idea?


Los pas comprimidos no ocupan nada, es texto.

Programmer666
30-09-2012, 23:53:16
Los pas comprimidos no ocupan nada, es texto.

Si, lo que pasa es que yo estaba tratando de comprimir todo menos el .exe porque pensé que necesitarían lo demás.

Estaba leyendo lo que estaban debatiendo, y sí, lo que guarde por ultima vez no está, pero eran un par de lineas que no es problema volver a escribirlas :D; como cosa adicional me dio error en el .dfm y en el .ddp, pero ya arregle estos dos (todo lo arregle en una copia del original). Ya todo está solucionado, muchas gracias por su ayuda y saludos :)!

Delphius
01-10-2012, 00:44:26
Si, lo que pasa es que yo estaba tratando de comprimir todo menos el .exe porque pensé que necesitarían lo demás.

Estaba leyendo lo que estaban debatiendo, y sí, lo que guarde por ultima vez no está, pero eran un par de lineas que no es problema volver a escribirlas :D; como cosa adicional me dio error en el .dfm y en el .ddp, pero ya arregle estos dos (todo lo arregle en una copia del original). Ya todo está solucionado, muchas gracias por su ayuda y saludos :)!

Pos... así no hay forma de saber que ha pasado realmente. Porque al final no sabemos de a que fue el error, en que parte, y como es que llegaste a descubrirlo y solucionarlo.
La idea es que las soluciones se compartan con la comunidad, de ese modo alguien con la misma o similar duda pueda encontrar la solución al problema.
Comenta tu solución por favor.

Saludos,

Casimiro Notevi
01-10-2012, 00:53:25
Punto número 13 de nuestra guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php):

Concluye con una breve nota sobre la solución

Envía un mensaje tras haber resuelto el problema a todos los que te ayudaron, hazles saber cómo acabó todo y agradéceles de nuevo su ayuda.
La nota no tiene que ser larga ni desarrollada, un sencillo "Pepe - que al final resulta que lo que fallaba era el cable. Gracias a todos. De hecho, un resúmen corto y agradable es mejor que una larga disertación a menos que la solución requiera de cierta profundidad técnica.
Además de ser cortés e informativo, esta especie de seguimiento ayuda a todos los que te asistieron a sentir una sensación satisfactoria de cercanía al problema. Ese sentimiento es muy importante para los gurús y expertos a quienes pediste ayuda. Los problemas que acaban sin resolverse resultan frustrantes, todos deseamos verlos resueltos.
El buen karma que aliviar ese picor te hará ganar, te resultará de mucha ayuda la próxima vez que necesites plantear una pregunta.

Programmer666
01-10-2012, 02:57:53
Pos... así no hay forma de saber que ha pasado realmente. Porque al final no sabemos de a que fue el error, en que parte, y como es que llegaste a descubrirlo y solucionarlo.
La idea es que las soluciones se compartan con la comunidad, de ese modo alguien con la misma o similar duda pueda encontrar la solución al problema.
Comenta tu solución por favor.

Saludos,

Bueno un resumen de lo que hice fue, primero que todo, crear una copia del programa original, en la copia borre el .pas de la unit que me daba error, y cree una copia del archivo del .~pas, le quite el '~' y asi se volvió el .pas de la unit. Luego me dio un error en el .dfm, repetí el proceso para arreglarlo; y por último me dio error al tratar de ver el código y la form de la unit antes arreglada (con el error 'Corrupt portfolio stream'), abrí el programa y segui estos pasos:
1. Darle a Open project
2. Abrir la carpeta donde esta el programa
3. En donde dice "Tipo:" o "Type:" seleccionar any file
4. Por ultimo borrar el .ddp de la unit en la que me da error

De nuevo agradezco por la ayuda que se brindo y espero con esto, ayudar a otros que les de este error :D.

Saludos!

Delphius
01-10-2012, 06:48:51
Bueno un resumen de lo que hice fue, primero que todo, crear una copia del programa original, en la copia borre el .pas de la unit que me daba error, y cree una copia del archivo del .~pas, le quite el '~' y asi se volvió el .pas de la unit. Luego me dio un error en el .dfm, repetí el proceso para arreglarlo; y por último me dio error al tratar de ver el código y la form de la unit antes arreglada (con el error 'Corrupt portfolio stream'), abrí el programa y segui estos pasos:
1. Darle a Open project
2. Abrir la carpeta donde esta el programa
3. En donde dice "Tipo:" o "Type:" seleccionar any file
4. Por ultimo borrar el .ddp de la unit en la que me da error

De nuevo agradezco por la ayuda que se brindo y espero con esto, ayudar a otros que les de este error :D.

Saludos!
La verdad es que es una respuesta por demás esquiva y nada aclaratoria. ¡Nos dejas peor! Dices errores pero no cuales. Programmer666 supongo que no serán así tus otros hilos porque habrá que consegur una bola de cristal para ver si así adivinamos alguito de lo que dices. :mad:

Saludos,