Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #12  
Antiguo 29-01-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
cd.rafael,

Cita:
Empezado por cd.rafael
La idea de la librería es proporcionar una forma que me permita manejar las operaciones básicas en una tabla cualquiera (insertar, modificar, eliminar, imprimir y exportar). De esta manera evito tener una forma para cada tabla (aclarando que son tablas básicas, de referencia), ya que puedo enviarle a la dll cualquier tabla sin necesidad de generar código específico para cada tabla.
Cita:
Empezado por cd.rafael
Cuando se lanza por primera vez la dll, la cual maneja los datos de una tabla X, funciona perfectamente. Cuando se llama la dll por segunda vez para manejar los datos de la tabla Y, sin haber terminado la primera llamada, la primera instancia que estaba manejando la tabla X, adopta los datos de la tabla Y que se maneja en la segunda instancia.
Cita:
Empezado por cd.rafael
...el problema de los datos cuando se inician dos instancias de la dll continúa. Las variables que uso para el llamado no son globales, son idnependientes para cada llamada a la dll.
Elimina esta declaración de la unidad DConexion:
Código Delphi [-]
var
  dtmConexion : TDataModule;
Modifica la DLL forma en lo referente al Data Modulo dtmConexion:
Código Delphi [-]
procedure pFormaMaestro(pStUsuario: String; pStPassword: String; pStDB: String; pStEsquema: String; pStTabla: String);
var
    dtmConexion : TDataModule;
begin
    //Pantalla Inicial
    frmSplash := TfrmSplash.Create(nil);
    frmSplash.Show;
    frmSplash.Update;

    //Crear el DataModulo
    dtmConexion := TdtmConexion.Create(Application);
    dtmConexion.gStTabla := pStTabla;
    dtmConexion.gStUsuario := pStUsuario;
    dtmConexion.gStPassword := pStPassword;
    dtmConexion.gStDB := pStDB;
    dtmConexion.gStEsquema := pStEsquema;
    dtmConexion.pInicioDatos;
    frmSplash.Hide;
    frmSplash.Free;

    //Crear la Forma
    if (dtmConexion.gBlSelect) then
    begin
        try
            frmPrincipal := TfrmPrincipal.Create(nil);
            frmPrincipal.ShowModal;
            dtmConexion.cdsPrincipal.Close;
            dtmConexion.qryPrincipal.Close;
            dtmConexion.Free;
            frmPrincipal.Hide;
            frmPrincipal.Free;
        except
            on E: Exception do
            begin
                ShowMessage(E.Message);
            end;
        end;
    end;
end;
La idea es que se cree una nueva variable local del Data Modulo dtmConexion y su instancia correspondiente en cada llamada del Procedimiento pFormaMaestro y que esta libere todos su recursos al finalizar el procedimiento mencionado para de esta forma asegurar que las instancias sean independientes entre llamadas.

Espero sea útil

Nelson.
Responder Con Cita
 



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
Error al crear un MDI Form jafera OOP 6 19-07-2011 14:10:13
Error con AdoQuery y 2 Form Dado de baja Conexión con bases de datos 2 23-10-2008 17:37:04
Error al crear MDI Form Faust Varios 8 23-04-2008 05:12:01
Error en form de login FGarcia Varios 2 05-02-2006 05:00:27
Error Creating Form RolphyReyes Varios 4 02-09-2005 19:56:42


La franja horaria es GMT +2. Ahora son las 13:08:30.


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