Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-10-2016
Avatar de cl2raul
cl2raul cl2raul is offline
Miembro
 
Registrado: sep 2008
Ubicación: La Habana, Cuba
Posts: 88
Poder: 16
cl2raul Va por buen camino
problemas con dll y modulo de datos

hola a todos:
estoy haciendo una dll, la cual contendra funciones y procedimientos para operar con una base de datos SQLite usando FireDAC en un DataModule...
ya he echo dll que contienen formularios, pero no se si el error esta en que el procedimiento q exporto en la dll no tiene acceso al DataModule, les adjunto el mensaje de error...

bueno aqui usaremos este pequeño codigo para que todos estemos sincrinizados y afrentemos el problemas sin tirar piedras a ver si damos a la lata... esta es la dll y como pueden observar esta la unidad uData que es un DataModule.

Código Delphi [-]
library dataLib;

uses
  System.SysUtils, System.StrUtils,
  System.Classes,
  FMX.Graphics,
  uData in 'uData.pas' {DM: TDataModule};

{$R *.res}

procedure conectarDB; stdcall;
begin
  DM.Dconnection.Params.Clear;
  DM.Dconnection.Params.Add('Database='+GetCurrentDir+'\cmodelo.db');
  DM.Dconnection.Params.Add('DriverID=SQLite');
  DM.Dconnection.Connected:=True;
end;

exports
  conectarDB;

begin
  //nada
end.

en el DataModule agregamos los siguentes componentes:

Dconnection: TFDConnection; FDPhysSQLiteDriverLink1:
TFDPhysSQLiteDriverLink;
FDGUIxWaitCursor1: TFDGUIxWaitCursor;

observaran q cuando compilen todo marchara bien, entoces para probar cerramos y hacemos un proyecto nuevo, en mi caso Multi-Device Aplication (FireMonkey HD) y agregamos un botoncito nos queda esto:

Código Delphi [-]
unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms;

type
  TForm1 = class(TForm)
   procedure Button1Click(Sender: TObject);  
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

  procedure conectarDB; stdcall; external 'dataLib.dll' name 'conectarDB';

implementation

{$R *.fmx}

procedure TForm1.Button1Click(Sender: TObject);
begin
 conectarDB;   
end;

end.

ya tenemos el ejecutable, cerramos y cargamos el proyecto DLL y en el menu Run escojemos Parameters... y buscamos el ejecutable. con esto ya podemos correr la dll y me pueden ayudar, jajaja...
gracias de antemano.
Archivos Adjuntos
Tipo de Archivo: zip dudas_problemas con dll y modulo de datos.zip (24,9 KB, 3 visitas)
Responder Con Cita
  #2  
Antiguo 12-10-2016
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Es evidente que hay algo a lo que no puede acceder. La única forma de hacerlo es depurando. Quizá un "paso a paso" pueda ayudarte.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 12-10-2016
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Creo que el problema está acá:

Código Delphi [-]
procedure conectarDB; stdcall;
begin
  //Estas accediendo a DM y asignando parámetros y el objeto no ha sido creado aun...
  DM:=TDM.create(application);
  try
  DM.Dconnection.Params.Clear;
  DM.Dconnection.Params.Add('Database='+GetCurrentDir+'\cmodelo.db');
  DM.Dconnection.Params.Add('DriverID=SQLite');
  DM.Dconnection.Connected:=True;
  finally
  DM.free;
  end;
end;
Responder Con Cita
  #4  
Antiguo 15-10-2016
Avatar de cl2raul
cl2raul cl2raul is offline
Miembro
 
Registrado: sep 2008
Ubicación: La Habana, Cuba
Posts: 88
Poder: 16
cl2raul Va por buen camino
si cloayza, pense q el probema benia por ahiii pero como se cuando ya se creo el datamodule para ejecutarlo....
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
Problemas con el modulo asyncpro JULIPO Varios 4 06-09-2007 02:45:26
Modulo de Datos JESUSMDGZ Conexión con bases de datos 4 04-03-2007 23:06:02
modulo datos y sql truequeman Conexión con bases de datos 2 19-01-2007 17:32:25
Modulo de Datos!! magnu9 Conexión con bases de datos 4 09-01-2007 16:57:42
Problemas con modulo de datos (DM) ilichhernandez Conexión con bases de datos 5 10-06-2006 16:24:17


La franja horaria es GMT +2. Ahora son las 11:08:33.


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