![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
![]() ![]() ... la culpa era mía, pero les aseguro que no sé a qué hora sucedió. La dirección del foro estaba bloqueada en mi correo. ![]() ![]() . , mis disculpas.
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre. |
|
#2
|
||||
|
||||
|
No sé yo, pero si esa es la línea 602 del código fuente y todavía estamos declarando variables privadas, miedo me da el resto.
mlara, lo raro es que funcione algo ![]() ![]() Creo es hora de crear frames y que se creen en tiempo de ejecución, sólo aquellos que se necesiten. Aunque mejor me callo porque será inviable.... ![]() Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#3
|
||||
|
||||
|
El error no es arrojado por el compilador (los errores, advertencias y mensajes de compilación son enlistados en una ventana especial), sino por el analizador sintáctico ("parser") del IDE. La prueba de ello sería mostrar el formulario e intentar ir al código DFM presionando Alt+F12. Al hacer esta operación deberá mostrarte el mismo mensaje de error.
Esto descartaría al compilador como el responsable del extraño error, incluso puede que la compilación sea perfectamente viable desde la línea de comandos. El problema aquí es algo en el IDE. ¿Cuántas líneas de código tiene en total tu unidad .pas? Probablemente exista un "bug" relacionado con la capacidad de líneas que puede manejar el editor. Mi otra pregunta sería: ¿tienes instalado algún accesorio (experto / wizard) en el IDE que pudiera interferir con la manera en que el entorno maneja el código fuente? Por otro lado, considera que tal vez sí hacen falta los dos puntos en alguna línea de la declaración de la clase, pero por alguna razón el analizador sintáctico lo señala en la 602. En ese caso el compilador de línea de comandos también te señalará el error, pero, con algo de suerte, en la línea que realmente omite los dos puntos. ¿Qué te parece si haces esta prueba? ![]() No dejes de mencionar qué versión de Delphi es la que tienes con ese problema. Independientemente de todo lo anterior, considera seriamente el uso de herencia visual y técnicas similares para una eficiente estructuración de tu proyecto. Pero primero lleguemos al fondo de esto. Esperamos nuevamente tu retroalimentación a este interesante caso. Al González. ![]() |
|
#4
|
||||
|
||||
|
Al... estoy en línea (almorzando). En un momento regreso y te cuento.
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre. |
|
#5
|
||||
|
||||
|
Provecho, yo haré lo mismo en un rato con lo que quedó del Pollo Feliz de ayer.
![]() |
|
#6
|
||||
|
||||
Además aún no uso el compilador de línea de comandos, pero me dispongo a hacerlo. Sigo en línea.
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre. |
|
#7
|
||||
|
||||
|
Acabo de compilar el programa con el compilador de línea de comandos. No hubo inconveniente, así que es definitivo, el problema es con el IDE y específicamente con el analizador sintáctico. Y ahora? Voy a buscar en el dfm, después de cada object debemos encontrar el nombre del componente seguido de dos puntos y luego del nombre de la clase. Espero tener suerte, ya que encontré 676 objetos.
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre. Última edición por mlara fecha: 18-05-2008 a las 23:43:29. |
|
#8
|
||||
|
||||
|
El archivo dfm tiene 9192 líneas. Hice un pequeño programa para ayudarme, y encontró lo siguiente:
Estaba pensando que podía ser el identificador de longitud más larga. Cuál es el número máximo de caracteres que puede tener un identificador? Además, de acuerdo a la sintaxis del dfm, cuándo se espera que aparezcan los dos puntos además de después del identificador y antes del nombre de la clase?
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre. Última edición por mlara fecha: 19-05-2008 a las 00:09:13. |
|
#9
|
||||
|
||||
|
Tengo dos versiones de mi programa. Las dos trabajan con versiones muy similares de Configuracion, hasta el momento "prácticamente iguales" (en realidad sobre la que tabajo actualmente ya tiene varios cambios), y con el otro programa no tengo problema. Eso quiere dedir que no tiene nada que ver el tamaño de los archivos ni su número de líneas, y tampoco la longitud de los identificadores.
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre. Última edición por mlara fecha: 19-05-2008 a las 00:56:27. |
|
#10
|
||||
|
||||
|
Jajajaj... esto la verdad no me lo imaginaba.
Aunque la verdad no me parece muy gracioso pues he perdido muchas horas revisando línea por línea. Les voy a contar que sucedía, y eso por no dejarlos con la duda .Pues resulta que uso el Notepad++ para editar mis archivos de texto, ya sean scripts .sql, código .pas o .c, formas .dfm, archivos por lotes .bat, de configuración .ini, archivos planos .txt o .csv, etc. El por qué los .pas, es sencillo. El Notepad++ ofrece herramientas que el editor de Delphi no tiene. Necesité realizar muchas modificaciones clave de una versión a otra y por eso usé esta aplicación, con muy buenos resultados. Quizá, y como me ha sucedido últimamente por no haber dormido muy bien, le cambié el formato al archivo .pas de DOS\Windows a UNIX. Claro, el final de línea en Windows se representa con un CRLF, mientras que en UNIX es un LF. Esto hacía que el IDE de Delphi fallara mostrando mensajes sin sentido como este: "Expected ':' but an identifier found" , en prácticamente cualquier línea. Lo que me sorprende es que haciendo algo tan absurdo como poner un comentario antes de la línea lograra "engañar" al analizador sintáctico. Tiene lógica que el compilador no fallara, porque supongo que para este el final de línea puede ser tanto CRLF como LF. Estaba a punto de volverme loco .Gracias a todos.
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre. Última edición por mlara fecha: 19-05-2008 a las 03:02:23. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Statement expected, but expression of type 'Boolean' found | Shikanda | Conexión con bases de datos | 7 | 06-09-2007 13:26:19 |
| "Undeclared Identifier "CLOSE" | anghell77 | OOP | 4 | 09-10-2006 12:18:26 |
| Error "File not found: AHMSystemClass.dcu" | Miriamc | Varios | 2 | 05-06-2006 16:13:36 |
| Error: "Record not found or changed by another user" | jmlifi | Varios | 0 | 27-01-2006 10:16:57 |
| Solución para el error "Field ID not found" | Calderin | Conexión con bases de datos | 5 | 24-11-2004 11:18:26 |
|