Ver Mensaje Individual
  #4  
Antiguo 06-08-2004
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¡Buen día a todos!


Cita:
Empezado por marto
...De la primera, Delphi va a la dirección de memoria de la referencia, da por supuesto que es de la clase que le indicas e intenta acceder a la dirección del método o la propiedad en cuestión. Si la referencia no es de ese tipo, saltará un Access Violation...
Con respecto a lo anterior debo decir que no necesariamente se elevará una excepción, y no necesariamente de tipo Access Violation, aunque regularmente puede darse el caso. Esto es porque el acceso a un miembro del objeto puede resultar en un acceso válido de memoria, aunque no sea un acceso válido de estructura. Depende de la estructura de cada clase y de qué realice la propiedad o método que está siendo referenciado.

A final de cuentas, sólo aconsejo (y utilizo) el molde de tipo Clase (Objeto) cuando estoy seguro de que la referencia será siempre válida. Esto sucede por ejemplo cuando hacemos referencia a un elemento de la propiedad Components de una forma, y sabemos que dicho componente es un TEdit:

Código:
TEdit (Components [4]).Text := 'Prueba';
Espero esto sea de utilidad. Seguimos en contacto.

Al González .
Responder Con Cita