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 llamar a una funcion del datamodule
hola, necesito hacer una validacion simple de usuario y contraseña y para eso cree una funcion en el datamodule y ocupe un query para revisar si existia un usuario con ese nombre y contraseña
Código:
function TDataModule3.VerificarInicioSesion(Usuario, contraseña: string):boolean; Var Vusuario,Vpassword:string; begin //Verificacion de usuario Vusuario:=#39+usuario+#39; Vpassword:=#39+contraseña+#39; Qingreso.close; Qingreso.SQL.Clear; with Qingreso do begin SQL.add('select usuario,contraseña'); SQL.add('from usuario'); SQL.add('where usuario = :usuario'); SQL.add('and contraseña = :contraseña'); prepare; parambyname('usuario').AsString:= VUsuario; parambyname('contraseña').AsString:= Vpassword; open; end; result :=Qingreso.IsEmpty; end; Código:
//Confirmar que estén los campos llenos if (Eusuarioingr.text <>'') and (contraseñaedit.Text <> '') then begin //revisar si existe el usuario if unit3.DataModule3.VerificarInicioSesion(Eusuarioingr.Text,contraseñaedit.Text) then begin LIS.Visible:=false; end; end; |
#2
|
||||
|
||||
Un 'acces violation' suele deberse a que intentas acceder a algo que no existe, bien porque aún no ha sido creado o no está inicializado o lo has liberado antes de tiempo.
|
#3
|
||||
|
||||
Hay 2 formas de crear Formularios/Datamodules en los proyectos de delphi.
O se crean automáticamente al inicio y se mantienen en memoria o los creas y los destruyes cuando necesites. Cada sistema tiene sus ventajas y sus inconvenientes. Revisa las opciones de tu proyecto. Eso te puede dar una pista de los que se están creando solos y los que no. Y ese Datamodule3 no está en la lista y no lo estás creando tú ahí está el problema. También puedes: 1) Poner un Breakpoint en esa línea. 2) Ejecutar el programa paso a paso 3) Cuando el programa se detenga, ver el contenido de DataModule3 (si no está asignado estará a nil).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
||||
|
||||
Además de lo que te han contestado los compañeros, es muy común que se haya creado primero el formulario antes que el datamodule. Por defecto, Delphi lo hace así. Por tanto, si tu formulario al crearse intenta validar el usuario, no funcionará.
Pero como dice Germán, si vas a las opciones del proyecto y seleccionas el datamodule y lo arrastras para que sea el primero en crearse, puede que ya no aparezca el error No se si van por ahí los tiros Un saludo |
#5
|
|||
|
|||
revise que el datamodule se creara primero y asi es, vi donde especificamente daba el error y es en el open; cuando se ejecuta el query, le saque los parametros y concatene, cambien el open por un execsql aunque se que ese se una para insert y aun asi me sale el mismo error
|
#6
|
|||
|
|||
al final puse un query en el form1 y la conecte al datamodule e hice la función de ahí y me funciono bien, pero gracias igual a los que contestaron
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
llamar una funcion en javascrip a php | novato_erick | PHP | 2 | 12-09-2018 00:12:01 |
Error al Llamar Función en DLL (Interface not suported). | webmasterplc | OOP | 4 | 17-06-2013 00:58:48 |
Llamar funcion dll con una cadena... | robinsongm | Varios | 6 | 26-02-2010 20:55:21 |
Llamar de una función a otra | jorgegetafe | Varios | 6 | 05-06-2007 15:53:19 |
problema al llamar una función | sgarrido | Varios | 3 | 27-07-2004 01:14:33 |
|