Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
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-2019
botones67 botones67 is offline
Miembro
 
Registrado: may 2003
Posts: 104
Poder: 0
botones67 cantidad desconocida en este momento
Cool Instanciar datamodule

Hola a todos.
Miren tengo esta unidad donde intento instanciar un datamodule que contiene un Ttable + Provider + Cliendataset todo parece ir bien hasta que intento modificar los datos de cliente, es como si no lo instanciara pero desde el form si veo todos los componentes del datamodule.
En la parte de abajo del código resalto donde da error.
Sabéis que puede ocurrir?
Gracias , un saludo para todos.
Código Delphi [-]
unit entrada;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics, unit1,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Buttons, RzButton, Vcl.StdCtrls,
  RzLabel, Vcl.Mask, RzEdit, FireDAC.Stan.Intf, FireDAC.Stan.Option,
  FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf,
  FireDAC.DApt.Intf, FireDAC.Stan.Async, FireDAC.DApt, Data.DB,
  FireDAC.Comp.DataSet, FireDAC.Comp.Client;

type
  TForm3 = class(TForm)
    RzToolbarButton2: TRzToolbarButton;
    RzToolbarButton1: TRzToolbarButton;
    edit1: TRzEdit;
    RzLabel1: TRzLabel;
    edit2: TRzEdit;
    RzLabel2: TRzLabel;
    procedure RzToolbarButton2Click(Sender: TObject);
    procedure RzToolbarButton1Click(Sender: TObject);
    procedure RzButton1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    public
  var
    dT: Tdatos;
    { Public declarations }
  end;
var
  Form3: TForm3;
implementation

uses
  general, Unit2;

{$R *.dfm}

procedure TForm3.FormCreate(Sender: TObject);
begin
  dT := Tdatos.Create(self);
end;

procedure TForm3.FormDestroy(Sender: TObject);
begin
  dT.Free;
end;

procedure TForm3.RzButton1Click(Sender: TObject);
var
  frm3: TForm3;
begin
  frm3 := TForm3.Create(self);
  try
    frm3.ShowModal
  finally
    FreeAndnil(frm3);
  end;
end;

procedure TForm3.RzToolbarButton1Click(Sender: TObject);
begin
  close;
end;

procedure TForm3.RzToolbarButton2Click(Sender: TObject);
begin

  if inserta then
  begin
    dt.proce.ExecProc; // generador de ID firebird
  [b]  dt.cliente.Append; AQUI DA ERROR ( VER IMAGEN ADJUNTA)
    dt.cliente.FieldByName('id').AsInteger :=
      dt.proce.ParamByName('CODD4').AsInteger;
    dt.cliente.FieldByName('material').asstring := edit1.Text;
    dt.cliente.FieldByName('Suministra').asstring := edit2.Text;
    dt.cliente.Post;
    dt.cliente.ApplyUpdates(-1);
    dt.Conexion.Commit;
    close;
  end;
  if edita then
  begin
    dT.cliente.edit; AQUI DA ERROR  ( VER IMAGEN ADJUNTA).
    dT.cliente.FieldByName('material').asstring := edit1.Text;
    dT.cliente.FieldByName('suministra').asstring := edit2.Text;
    dT.cliente.Post;
    dT.cliente.ApplyUpdates(-1);
    dT.Conexion.Commit;
    close;
  end;
end;

end.
Imágenes Adjuntas
Tipo de Archivo: jpg ERROR.jpg (30,8 KB, 19 visitas)
Responder Con Cita
  #2  
Antiguo 28-09-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿No estará activo?
Responder Con Cita
  #3  
Antiguo 28-09-2019
botones67 botones67 is offline
Miembro
 
Registrado: may 2003
Posts: 104
Poder: 0
botones67 cantidad desconocida en este momento
Gracias Casimiro por tu ayuda.
Pues si que lo está,además hace cosas muy raras , sales y entras en la aplicación y lo datos están actualizados.
Responder Con Cita
  #4  
Antiguo 28-09-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Echa un vistazo a estos enlaces.
Responder Con Cita
  #5  
Antiguo 28-09-2019
botones67 botones67 is offline
Miembro
 
Registrado: may 2003
Posts: 104
Poder: 0
botones67 cantidad desconocida en este momento
Smile

Bueno ya miré con anterioridad la mitad de ellos y casi todos coinciden en que está cerrado el dataset pero aqui no es el caso.
Al final solo instanciaré de las form y el datamodule lo creare al inicio que ya probé y no da problemas.
El objetivo era no cargar mucho la red.
Gracias Casimiro nuevamente.
Responder Con Cita
  #6  
Antiguo 30-09-2019
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Siempre puedes preguntar (con un IF) por el estado del Dataset, antes de realizar el Edit.

Código Delphi [-]
if not dT.cliente.Active then
    dT.cliente.Open
else
    dT.cliente.Edit;
__________________
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.
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
Instanciar Objeto COM moneiro Providers 4 10-03-2011 16:35:27
datamodule josi Varios 22 11-12-2008 08:07:42
Como instanciar objetos de los cuales solo se conoce su clase ancestro AzidRain OOP 7 11-07-2008 02:58:17
Instanciar Clase buildero_d OOP 2 05-10-2006 06:12:56
Instanciar un form más de una vez vpepen Varios 6 30-07-2004 13:44:35


La franja horaria es GMT +2. Ahora son las 01:47:19.


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