![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#21
|
|||
|
|||
Cita:
procedure TfrmMainGeneral.EjecutarForm(pForm: TfrmForm; pNomPantalla: String); var lTransActive: Boolean; begin lTransActive := False; if not DMLectura.IBTRead.InTransaction then begin DMLectura.IBTRead.StartTransaction; lTransActive := True; end;//if not DMLectura.IBTRead.InTransaction then if FSesionUsr.AccesoFormSistema(FSesionUsr.GetSesionIDGrupoUsuario, pNomPantalla) then pForm.ExecuteModal(Self) else MessageDlg(Usuario_sin_permiso, mtInformation, [mbOK], 0); if lTransActive then DMLectura.IBTRead.Rollback; end; y despues lo que quiero hacer es EjecutarForm(TfrmVenta, Pant_Ventas); |
#22
|
||||
|
||||
En esta caso estás pasando un objeto de tipo TfrmForm, pero no una referencia a la clase, que son cosas distintas; Si quieres ejecutar un mérodo de clase (ExecuteModal), debes pasar la referencia. Otra opción sería pasar el form y ejecutarl por RTTI, pero creo que no es el caso.
y despues lo que quiero hacer es;
Lo primero es cambiar:
Y en algun sitio (en la sección de type) definir:
En ese caso la llamada a:
Funcionará, siempre y cuando la clase TfrmVenta derive de TfrmForm,
No se si me he explicado. EjecutarForm(TfrmVenta, 'Pant_Ventas'); ==> Este procemimiento llega a la línea: pForm.ExecuteModal(Self) ==>pForm lo hemos pasado como parámetro con un constructor de clase (TfrmVenta); Revisa esta clase y no tiene el método ExecuteModal, pero sí su antecesor TfrmForm. Como lo tiene definido como método de clase, lo ejecuta: class procedure ExecuteModal(Sender:TForm); ==> Este ,método supongo que crea el form y lo visualiza modal.
__________________
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. |
#23
|
||||
|
||||
Esto es correcto.
Cita:
Cita:
Cita:
|
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Pasar mi clase a una clase de 3 capas o lo mas parecido | elarys | OOP | 2 | 07-04-2011 23:02:54 |
Pasar datos a una clase de un WS | gcaffe | Internet | 1 | 17-12-2010 16:42:52 |
¿¿Es posible pasar una clase como parámetro con el modificador var?? | PaFernan99 | OOP | 3 | 09-02-2009 18:49:00 |
Pasar parametro a una sentencia sql | molinero1 | SQL | 23 | 12-04-2007 17:55:22 |
pasar parametro | pharaonhx | Conexión con bases de datos | 3 | 10-05-2006 19:02:50 |
![]() |
|