FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Error al utilizar una tabla en varios formularios
Hola, soy nuevo y mi consulta es debido a que estoy intentando acceder a una tabla definida en un form1 desde un form2 (por ejemplo para ofrecer una ventana de ingreso de datos) y cuando quiero insertar un registro en dicha tabla me da un error de "Access Violation". Alguien que pueda ayudarme por favor??
|
#2
|
||||
|
||||
Bienvenido al foro, como es costumbre, se aconseja darle un vistazo a las normas del foro.
Te sugiero que añadas un Datamodule (File -> new -> busca, no sé bien donde anda). El TTable o Tquery lo sitúas en ese Datamodule Después en cada Form haces un "uses Datamodule1" y ya tienes acceso. El Datamodule es un contenedor de objetos, no se verá en ejecución, así que puedes crearlo desde el principio de la aplicación (antes que el form1 y form2). El problema que tienes, es que el Form1 no está creado al intentar acceder desde Form2, (o incluso puede que se haya destruido por llamar a form1.Free), por eso de da un Error de Violación de Acceso a memoria. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
|||
|
|||
Hola, probe con el Datamodule y sigue pasando los mismo. Elimine todas las lineas de codigo y me quede solo con una que es la que intenta modificar la tabla y me sale el siguiente error:
Project Project1.exe raised exception class EAccessViolation with message 'Access Violation at adress "xx" in module 'Project1.exe'. Read of adress 00000000. Process stopped. Use step or run to continue. El problema se da cada vez que quiero modificar una tabla (agregar o eliminar registros) desde un form (o una unit) diferente a la primera, o sea, cuando no lo hago desde el form1 (unit1) me da ese error... Lo unico que deje para probar es en el form1 un boton que abre el form2 y en el form2 la linea que intenta modificar la tabla. Estoy desconcertado... |
#4
|
||||
|
||||
ya que el proyecto será muy pequeño, adjunta en el foro (dentro de un zip) los archivos:
programa.dpr form1.pas form1.dfm form2.pas form2.dfm Y así vemos por donde puede venir el error. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
|||
|
|||
Hola, te paso lo que me pediste en el zip, tambien deje la tabla de pruebas. Espero me puedas ayudar. Muchas gracias y saludos
|
#6
|
|||
|
|||
Hola, el problema es que declaras table1 dentro del unit, lo que tienes que utilizar es el table1 que está dentro del datamodule. La cosa quedaría así:
|
#7
|
|||
|
|||
Muchas gracias, ahora si funciona todo bien. Errores de novato, jeje. Muchas gracias y saludos
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
usar un procedure en varios formularios | adonai | Varios | 21 | 30-03-2007 17:42:34 |
¿Cómo crear una DLL con varios formularios? | Javi2 | Varios | 3 | 25-05-2006 10:35:06 |
Borrar varios registro de una tabla | molina669 | Conexión con bases de datos | 2 | 10-11-2005 19:58:00 |
CTRL-P en varios formularios | magm2000 | Varios | 2 | 20-10-2004 09:38:09 |
cargar tabla en varios combos | Delphos | Conexión con bases de datos | 2 | 04-10-2003 19:09:11 |
|