FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
||||
|
||||
Más D2010
Por favor observen esta porción de código:
Código:
const Palabra: string[20] = ''; begin if Key = 32 then Palabra := ''; else if Key in LetrasPermitidas then Palabra := Palabra+Chr(Key) else Palabra := ''; ... Key := 0; end; [DCC Error] Unit5.pas(96): E2064 Left side cannot be assigned to
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre. |
#2
|
||||
|
||||
Lo raro es que funcione en delphi 7.
Si lo declaras como constante no debería permitir modificarlo, para hacerlo debería ser una variable. |
#3
|
||||
|
||||
Creo que en las opciones de compilación había una opción que permitía asignar valores a las constantes, esto es, que en realidad no hubiera diferencias entre CONST y VAR. Seguramente lo tienes activado en Delphi 7 y desactivado en Delphi 2010.
De todas formas, nunca he entendido por qué existe esa opción. Si necesitas asignar un valor, ¿por qué usar CONST? |
#4
|
||||
|
||||
Sí, la verdad es que se me había olvidado marcar la opción. De hecho se debe un poco a que ahora la presentación de las opciones del compilador es diferente en D2010. La opción se llama Assignable Typed Constants.
Por otra parte, Claro, las cosas existen por algo. En el fragmento de código se puede ver lo que sucede. Es en realidad un constante para el ámbito global, es decir, que cuando el procedimiento o la función termina de ejecutarse de ninguna manera se libera la memoria utilizada por la costante ni se altera su contenido. Cuando vuelves a llamar al procedimiento o a la función la constante ha conservado su valor, pero por alguna razón queremos actualizarlo. Es como si se tuviera una variable global pero de acceso local, es decir de acceso sólo desde la función o el procedimiento que la contiene. Muchas gracias.
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre. |
#5
|
||||
|
||||
Pues en ese caso, mlara, veo más práctico lo siguiente.
Cuestión de gustos, supogo. |
#6
|
||||
|
||||
Pero es accesible desde todas las funciones de la parte implementación, y "no hay necesidad de ello", porque sólo se va a usar en una función.
Desde otro punto de vista, mejora la legibilidad del código. Cuando ves una variable de implementación, lo primero que piensas es "a saber donde se utiliza".
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#7
|
||||
|
||||
Si, la verdad yo prefiero usar const . No es siempre, es un caso particular, y la constante sólo la necesito en un procedimiento.
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre. |
#8
|
|||
|
|||
a mi luego eso me pasa,,, con delphi 7, 2006, 2007,
cuando estoy modificando un programa y lo compilo me da ese error casi siempre se resuelve, borrando las dcu, de los archivos que modifique, y el compilador no reconstruyo solo trato de enlazar- |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
En D2010, mensaje de error... | mlara | Varios | 7 | 05-04-2010 01:15:40 |
Apariencia de interfaces en D2010 | mlara | Varios | 1 | 04-04-2010 23:58:21 |
dll dbexpress d2010 | pborges36 | Conexión con bases de datos | 2 | 12-01-2010 16:26:53 |
Activación D2010 | mlara | Varios | 6 | 08-01-2010 16:53:38 |
|