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 28-09-2010
Avatar de Chuma87
Chuma87 Chuma87 is offline
Miembro
 
Registrado: sep 2010
Posts: 24
Poder: 0
Chuma87 Va por buen camino
Dataset a formX.editX

cuando abrimos el form padre, vamos a "facturas", se abre "facturas" y le damos a un boton para q se nos habra otro formulario (ej: "cliente", en donde seleccionamos al cliente, en caso de serlo), cuando queremos pasar los datos del cliente, a unos edits del formulario "factura" (EJ: formFACTURA.edit1.text := adodataset.fieldsvalues ['Nombre']) nos salta un error de sistema, al momento de que esto sucede, se posiciona sobre la linea de la unidad del formulario "cliente", marcandonos que AHI esta el error, supuestamente es el adodataset, porque le ponemos // (como comentario) y funciona. Nosotros abrimos, en otro delphi, factura solo (o sea, el proyecto Factura que teniamos) lo corremos, y anda todo bien sin andar comentando...

Mi hipotesis sobre la falla? Querer abrir mas de 2 formularios al mismo tiempo -> FormPADRE/FormHijo/Form (ej: FormMDI/FormFACTURA/FormCLIENTE)

Código Delphi [-]
procedure TClientes.DBGrid1DblClick(Sender: TObject);
begin
  Ads.Close;
  Ads.CommandType:= cmdtext;
  Ads.CommandText := 'select * from CLIENTES';
  Ads.Open;
  Factura.Edit8.Text := Ads.FieldValues['CUIT'];
  //Factura.Edit7.Text := Ads.FieldValues['Razon_Social'];
  //Factura.Edit6.Text := Ads.FieldValues['Telefono'];
  Application.MessageBox('Carga Exitosa','Mensaje');
end;

Ads = dataset.
Responder Con Cita
  #2  
Antiguo 28-09-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

¿ Podés transcribir el error que te arroja ?

Saludos.
Responder Con Cita
  #3  
Antiguo 28-09-2010
Avatar de Chuma87
Chuma87 Chuma87 is offline
Miembro
 
Registrado: sep 2010
Posts: 24
Poder: 0
Chuma87 Va por buen camino
Proyect PR_XXXX.exe raised exception class EAccessViolation with message "Access violation at address 004D27DA in module 'PR_XXXX.exe'. Read of address 00000334". Process stopped. Use step or run to continue.

ese es el error
Responder Con Cita
  #4  
Antiguo 29-09-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Chuma87 Ver Mensaje
Proyect PR_XXXX.exe raised exception class EAccessViolation with message "Access violation at address 004D27DA in module 'PR_XXXX.exe'. Read of address 00000334". Process stopped. Use step or run to continue.

ese es el error
Por el tipo de error, dá la impresión que aún no esta creado el form 'Factura' o los Edit's, cuando invocas a Edit6 y Edit7. No hay problema en abrir más de un form aunque este último sea un MDIChild.

De todos modos revisá que la creación del mismo suceda antes de citar a Edit6 y Edit7 y si estos los creas en ejecución, revisá también que estén creados antes de llamarlos.

Sería bueno si pones el código donde creas el form 'Factura'.


Saludos.

Última edición por ecfisa fecha: 29-09-2010 a las 00:55:53.
Responder Con Cita
  #5  
Antiguo 06-10-2010
Avatar de Chuma87
Chuma87 Chuma87 is offline
Miembro
 
Registrado: sep 2010
Posts: 24
Poder: 0
Chuma87 Va por buen camino
Código Delphi [-]
procedure TFPadre.Factura1Click(Sender: TObject);
var
  Factura : TFactura;

begin
  Factura := TFactura.Create(Application);
  FPadre.Factura1.Enabled := false;  
end;

Con una variable global funciona, pero el tema es que, quede bien y lo pase en el momento a los edits, cuando hago doble click sobre "Clientes"

Cuando me salta el error, y se pociciona sobre Factura.edit8.text....... pongo el cursor encima de Factura y me pone... Factura = nil

Última edición por Chuma87 fecha: 06-10-2010 a las 03:14:46.
Responder Con Cita
  #6  
Antiguo 06-10-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Chuma87.

Según entiendo, tenés un MDIForm (padre) que llama a un MDIChild 'facturas' y este a su vez llama
a un fsNormal 'clientes'. Y la idea es ante determinada situación en el form 'clientes' enviarle datos a
componentes del form 'facturas',despues me dirás si me equivoco...

Como el problema no está en el llamado del MDIForm al MDIChild, supongamos que ya estamos con el form 'facturas'
abierto.

Voy a ponerte un ejemplo muy simplificado omitiendo toda comprobación, sólo a fín de clarificar la situación.

Tenemos en 'facturas' un TPanel o (cualquier componente receptor) y un botón llamado btCliente que ejecuta la
creación del form 'cliente', algo como:
Código Delphi [-]
uses Unit3
procedure TFactura.btClientesClick(Sender: TObject);
begin
  Clientes:= TCliente.Create(Application);
  Clientes.ShowModal;
end;

En el form 'clientes' ponemos un Edit y otro botón llamado btPasar.
Y para simplificar más la cosa, hacemos una referencia circular a el form 'facturas', algo como:
Código Delphi [-]
uses Unit2;

procedure TClientes.PasarClick(Sender: TObject);
begin
  Factura.Panel1.Caption:= Edit1.Text
end;
Esto, basándome en lo que interpreté en tu primer post. De no haber entendido mal, funciona sin provocar excepciones.

Ahora si el form 'factura' está declarado como variable local de un procedimiento como en el código que adjuntas, realmente
no sé como el form 'cliente' se va a enterar de su existencia...

Saludos.
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
Copiar el contenido de un DataSet a otro DataSet Javi2 Varios 82 22-11-2022 09:26:16
Actualizar un dataset desde otro dataset jafera Conexión con bases de datos 17 18-12-2008 23:57:10
Dataset JerS Conexión con bases de datos 2 16-06-2008 22:58:44
dataset Netyco SQL 2 15-10-2007 11:57:26
Closed dataset srobles Conexión con bases de datos 3 14-03-2005 21:10:24


La franja horaria es GMT +2. Ahora son las 15:36:56.


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