![]() |
![]() |
| 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 |
|
#6
|
||||
|
||||
|
A ver si puedo explicarlo sencillamente o no
En principio, esos dos compadres son iguales, pero no es lo mismo. En el primero, cuando dentro de SetText intentas hacer una asignación a Value, es decir, del tipo
Aqui delphi en compilación no te deja modificar la variable, porque ha sido pasada con el Const. En este otro caso:
Value, dentro de la funcion, te permite modificarla, pero creo que con esto queda más claro: valor tendrá 'pepe', dentro de la funcion SetText, se le da el valor 'pepe que si que si', pero solo dentro de la funcion SetText, cuando salga, es decir en el showMessage saldrá 'pepe' Obviamente, si ponemos SetText(var Value:String); se modifica el valor, y en el showMessage, saldrá 'pepe que si que si' Por tanto, poner el "Const" es un seguro de vida, si quieres modificar la variable localmente o no. Otra cosa distinta es cuando se pasan objetos:
En este caso se pasa un puntero (de 4 bytes) al objeto, por tanto, todos los objetos se pasan por referencia, da igual si pones const, si no lo pones, o si lo pasas con var. De las 3 formas podrás modificar las propiedades del objeto, el width, height, etc. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|