![]() |
¿como mandar mensajes desde Datamodule?
Hola tengo un problema; quiero enviar mensajes antes de que guarde la tabla pero tengo mis tablas en un DataModule y es la primera vez que uso uno de estos. Podría alguien decirme por favor como mandar los mensajes antes de que guarde la tabla.
Yo lo intente desde eventos en las tablas que estan en el datamodule pero no los acepta. Gracias por la ayuda que me puedan brindar. |
Perdona pero no te entiendo.
Mensajes, te refieres a showmessages? o application.messagebox? o que ? si es esto, mira note falte el uses dialogs. Un saludo |
el uses dialogs usar donde? y me refiero a un showmsg o puede
ser un applic.msgbox no importa |
arriba del unit del data module, estan los uses.
alli le añades dialogs. uses SysUtils, Classes; uses SysUtils, Classes,dialogs; a ver que tal Un saludo |
si esta declarada en el datamodule
pero no reconoce el showmsg lo que pasa es que yo quiero que aparezca el msg en otra form aunque el msg lo declare en un evento del datamodule. Como le hare? |
desde el form , tienes en el uses el datamodule?
No te compila? o te da error donde? y cuando? |
Lo declaraste en un evento del datamodule o en un evento de la tabla del datamodule?
|
Cita:
procedure TDM.TApzAfterPost(DataSet: TDataSet); begin if Principal.ComboBox16.ItemIndex=-1 then begin showmessage('Favor de editar una colonia valida'); Principal.combobox16.ItemIndex:=0; Principal.dbedit12.Text:=TColon_Apa.Fields[2].AsString; Principal.ActiveControl:=Principal.Combobox16; end; end; en el datamodule pero no lo reconoce ni enviara en la Form Principal |
es en el evento antes de guardar (AfterPost) de una tabla
|
has mirado si entra el programa dentro del codigo?
ponte encima de esta linea if Principal.ComboBox16.ItemIndex=-1 then y dale a F5. Entonces corre el programa y cuando se pare , dale a F8 y iras avanzando y mira a ver si entra. Sino entra, es que if Principal.ComboBox16.ItemIndex=-1 then le hace no entrar.Esta condición no es correcta supongo. Y si entra , mira cuando pase por showmessage a ver que hace. Por cierto si quieres que para antes de grabar es el beforepost no afterpost. Un saludo |
Tienes razon en lo del evento pero el error es el siguiente:
[Error] Unit4.pas(1888): Undeclared identifier: 'showmessage' [Fatal Error] Unit3.pas(228): Could not compile used unit 'Unit4.pas' Y esto no permite que se ejecute el programa. Obviamente la unit4 es donde estan los eventos |
O sea no te compila.
en el unit4 seguro que tienes dialogs en el uses? miralo bien. Sino añadelo. |
substituye el showmessage por
MessageDlg('Favor de editar una colonia valida', mtWarning, [mbOK], 0); |
ya estuvo gracias faltaba lo de uses
|
para futuros casos haz lo siguiente:
vete a un form, escribe showmessage o la funcion que quieras ejecutar en el datamodule, ponte encima con el raton y dale a F1 te dirá que está declarado en la Unit Qdialogs, o la que toque en su momento ;), así que te vas al datamodule y allí añades el uses. Si no te sale la ayuda, Me pasó que dentro del datamodule, no podia usar el objeto Application.Messagebox y era algo tan simple como eso, buscar en que unidad está declarado el objeto application y añadirlo al uses. Algo tonto.... pero si es la primera vez que usas un datamodule te comes el coco pensando que dentro de él no puedes usar la función que buscas. Si dentro del form, tampoco te sale en que unidad está definido lo que buscas, pues no queda mas remedio que arrancar la ayuda manualmente y ponerlo allí, incluso puede que tengas que irte al menú MS SDK help files del menu inicio de windows y arrancar el archivo Win32 Programer's Reference (si se trata de una API de Windows.) La verdad, Delphi tiene una ayuda EXCELENTE!! saludos |
La franja horaria es GMT +2. Ahora son las 13:22:24. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi