Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-01-2021
Avatar de pockelsm3
pockelsm3 pockelsm3 is offline
Miembro
 
Registrado: oct 2007
Posts: 65
Poder: 17
pockelsm3 Va por buen camino
Llamado procedimiento desde Form ShowModal

Saludos a todo el foro

mi problema es el siguiente
Tengo un form master detail, llamo a otro formulario en "showmodal" para seleccionar datos especificos y mandarlos al master detail.

el caso es que luego de seleccionar los datos que se requieren, al precionar el boton Aceptar, desde el form showmodal ejecuto un procedimiento que esta en el form master detail, aqui es cuando me da un error en que las propiedades value de los campo de la tabla son inaccesibles.

el form Master Detail es MDIChild, el formulario que abro en showmodal no es MDI, ya que estos no pueden abrirse el showmodal

el procedimiento que ejecuto esta declarado Publico

Código Delphi [-]
  private
    { Private declarations }
  public
    { Public declarations }
    procedure ModificarNCF(pNCF,pFact,CalcT:String;pFecha:TDateTime;DescV,DescPouble);
    procedure AgregarLineasDevolucion(iCode,iName,iAlm,iUnd,iRef,iIGrup:String;iQty,
                   iPrice,iBruto,iDesc,iDescP,iDescVP,iItbis,iNetoouble);
  end;

procedure TfrmSalesReturn.ModificarNCF(pNCF,pFact,CalcT:String;pFecha:TDateTime;DescV,DescPouble);
begin
  DevTableFACTURA.Value := pFact;
  DevTableTAXCALC.Value := CalcT;
  DevTableNCF.Value := pNCF;
  DevTableFLINKFACT.Value := pFecha;
  DevTableDESCVALOR.Value := DescV;
  DevTableDESCPORC.Value := DescP;
  DevTableDESCPORCVALOR.Value := Valor_Porcentaje(DevTableSEBTOTALNETO.Value,DevTableDESCPORC.Value);
end;
Responder Con Cita
  #2  
Antiguo 12-01-2021
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 14
Caminante Va camino a la fama
Hola

Cita:
Empezado por pockelsm3 Ver Mensaje

el caso es que luego de seleccionar los datos que se requieren, al precionar el boton Aceptar, desde el form showmodal ejecuto un procedimiento que esta en el form master detail, aqui es cuando me da un error en que las propiedades value de los campo de la tabla son inaccesibles.
Si te dice que las propiedades que quieres modificar son inaccesibles posiblemente es que no pusiste la unidad del form mdi en la seccion uses de tu ventana modal.

No se si estoy entendiendo bien. No me quedo claro en que form esta el procedimiento que quieres llamar.

Ahora si el metodo es del form mdi y lo llamas despues de que se cierra el form modal puede ser que es que estes destruyendo form antes de leer los valores requeridos.
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar.
Antonio Machado

Última edición por Caminante fecha: 12-01-2021 a las 14:31:23.
Responder Con Cita
  #3  
Antiguo 12-01-2021
Avatar de pockelsm3
pockelsm3 pockelsm3 is offline
Miembro
 
Registrado: oct 2007
Posts: 65
Poder: 17
pockelsm3 Va por buen camino
Saludos Caminante, gracias por responderme

Cita:
Empezado por Caminante Ver Mensaje
Si te dice que las propiedades que quieres modificar son inaccesibles posiblemente es que no pusiste la unidad del form mdi en la seccion uses de tu ventana modal.
la unidad del form mdi esta declarada en el form showmodal, de lo contrario cuando escriba el procedimiento delphi lo marcaria con linea roja.

Cita:
Empezado por Caminante Ver Mensaje
No se si estoy entendiendo bien. No me quedo claro en que form esta el procedimiento que quieres llamar.
el procedimiento que llamo desde el showmodal, se encuentra en el form mdi

Cita:
Empezado por Caminante Ver Mensaje
Ahora si el metodo es del form mdi y lo llamas despues de que se cierra el form modal puede ser que es que estes destruyendo form antes de leer los valores requeridos.
en principio lo hacia luego del mandar a cerrar el showmodal, pense que el problema era por lo mismo que mencionas y cambie el llamado antes de mandar a cerrar el showmodal, pero persiste el inconveniente.

este es el codigo de cuando hago el llamado

click al boton
Código Delphi [-]
procedure TfrmDevSelect.btnCargarClick(Sender: TObject);
begin
  CargarDevolucion;
  Close;
end;

donde se llama al procedimiento del mdi
Código Delphi [-]
procedure TfrmDevSelect.CargarDevolucion;
begin
  try
    frmSalesReturn.ModificarNCF(SalesTableNCF.Value,SalesTableFACTURA.Value,SalesTableTAXCALC.Value,
                   SalesTableFECHAREGISTRO.Value,SalesTableDESCVALOR.Value,SalesTableDESCPORC.Value);

    SalesLine.First;

    while not SalesLine.Eof do
       begin
         if ckbAdd.EditValue = 'S' then
            begin
              frmSalesReturn.AgregarLineasDevolucion(SalesLineCODE.Value,SalesLineITEMDESCRIP.Value,SalesLineALMAC  EN.Value,
              SalesLineUNIDADES.Value,SalesLineREFERENCIA.Value,SalesLineTAXGROUP.Value,SalesLineITEMQTY.Value,
              SalesLinePRICE.Value,SalesLineSUBTOTAL.Value,SalesLineDESC.Value,SalesLineDESCPORCENT.Value,
              SalesLineDESCVALORPORCENT.Value,SalesLineITBIS.Value,SalesLineTOTAL.Value);

              SalesLine.Next;
            end
         else SalesLine.Next;
       end;


  except
    AddFallaSistema(Main.Usuario,'frmDevSelect','CargarDevolucion','MErInseLine');
    mensaje(MErInseLine,PWideChar(Application.Title),MB_ICONERROR+MB_OK);
  end;
end;
Responder Con Cita
  #4  
Antiguo 12-01-2021
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 14
Caminante Va camino a la fama
Bueno podrias probar llamar al procedimiento desde el mismo form, es lo que yo haria:

Código Delphi [-]
FomDialogo:=TFormdialogo.create(nil);
try
if formdialogo.showmodal=mrok then
begin
 //Las acciones pertinentes como llamar a mi procedimiento
end;
finally
formdialogo.free
end;
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar.
Antonio Machado
Responder Con Cita
  #5  
Antiguo 12-01-2021
Avatar de pockelsm3
pockelsm3 pockelsm3 is offline
Miembro
 
Registrado: oct 2007
Posts: 65
Poder: 17
pockelsm3 Va por buen camino
Cita:
Empezado por Caminante Ver Mensaje
Bueno podrias probar llamar al procedimiento desde el mismo form, es lo que yo haria:

Código Delphi [-]
FomDialogo:=TFormdialogo.create(nil);
try
if formdialogo.showmodal=mrok then
begin
 //Las acciones pertinentes como llamar a mi procedimiento
end;
finally
formdialogo.free
end;
Es que en el form showmodal, debe de haber interaccion con el usuario, ya que debe de elegir la informacion que desea enviar al form mdi

O es que no estoy entendiendo tu ejemplo.
Responder Con Cita
  #6  
Antiguo 12-01-2021
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 14
Caminante Va camino a la fama
Bueno no se como es tu formulario modal ni como es que lo ejecutas. Lo normal que hago en un dialogo es tener los botones aceptar y cancelar entonces si se acepta el dialogo puedo hacer las operaciones necesarias.
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar.
Antonio Machado
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Llamar un procedimiento desde otro form jeremiselxi Varios 7 02-10-2014 12:07:24
Saber si el form fue llamado con showmodal Kenobi Varios 2 01-12-2009 10:08:10
Efectos en el form que abre un ShowModal mam1986 Varios 8 04-08-2008 09:50:47
Error al llamar un form en ShowModal DarkByte OOP 4 28-12-2005 09:16:12
Minimizar Form en ShowModal el_enigma1 OOP 7 08-07-2005 23:25:50


La franja horaria es GMT +2. Ahora son las 17:34:18.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi