FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Error en validacion
Estimados, tengo un error mientras intento validar por intermedio de recorres los componentes de mi formulario
La idea es recorrer los componentesw Edit y verificar los que tengan tag = 88, entonces esos componentes validarlos que tengan algo escrito.
El error que me arroja dice lo siguiente Project1.exe raised exception class EAccessViolation with message "Access violation at address 004270FF in module "project1'. Si alguien sabe de que se trata este error o ve algun error importante en mi codigo seria tan amable de decirme, gracias desde ya. Atentamente Ilich Hernandez.
__________________
[Lo que a veces es tan facil, a veces parece imposible] |
#2
|
||||
|
||||
¿Dónde se carga form10?... Porque aparentemente se trata de una variable local, que nunca fue iniciada...
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
Form10 es el formulario donde estoy trabajando..... necesito inicializarlo ??
__________________
[Lo que a veces es tan facil, a veces parece imposible] |
#4
|
|||
|
|||
para mi que el error es esto:
(TEdit(Componentes).Tag = 88)) porque estas forzando a un componente a TEdit, en el mismo if donde revisas si es un TEdit, aqui mas bien se requieren 2 ifs, el primero para revisar si es TEdit y el segundo donde ya hagas el Cast |
#5
|
|||
|
|||
Voy a probar lo que me dices a ver si mejora esto.... gracias
__________________
[Lo que a veces es tan facil, a veces parece imposible] |
#6
|
|||
|
|||
Como bien dice Delphi.com.ar, es un error por que estas queriendo acceder a las propiedades de un objeto que no ha sido inicializado o creado. Puedes usar la variable global de tu forma o asignarle a Form10 la variable global de tu forma o mejor aun, haz que validar_edit, sea un metodo del objeto forma para que tu codigo quede mas o menos asi.
__________________
Saludos Alfredo |
#7
|
|||
|
|||
Si Form10 es el formulario con el que estas trabajando,no necesitas volver a declararlo dentro de las VAR LOCALES a esteprocedimiento, ya que ocultas el verdadero Form10, que seguramenteesta definido mas arriba en tu programa. Prueba quitar la declaracion del Form10 de las VAR de esteprocedimiento... Saludos, ojala te sirva... |
#8
|
|||
|
|||
Short Circuit Boolean Evaluation
Tambien es bueno asegurarse que la configuracion del compilador tenga la variable ShortCirtcuit Boolean Evaluation en TRUE, para que no de problemas evaluaciones como la de arriba. ( Si lo pones en falso, la misma pregunta con Componentes que no son TEdit podria dar problemas impredecibles..., en la parte que sigue al AND, y el debugger no te ayudaria mucho en detectarlo ). Para mi es mejor no confiar en el ShortCircuit boolean evaluation, y escribir de forma segura ) Quizas mas seguro poner..
parece lo mismo... pero no lo es... !! ( estando el ShortCirtuit en false o true, con esta forma de preguntar no hay ningun problema ). Saludos !! Espero le sirva a alguien ! |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Error en Acces CHECK validacion | JuanHC | Tablas planas | 0 | 07-03-2007 20:07:17 |
Validacion | spaike | Varios | 2 | 19-04-2006 19:56:12 |
validacion | halifax | Tablas planas | 7 | 06-02-2005 23:25:53 |
Validacion | Carlex | Conexión con bases de datos | 1 | 08-09-2004 23:53:41 |
Validación C.I.F. | Kafu | Varios | 2 | 23-05-2003 19:09:29 |
|