Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Conectarse en ADO a través de un DLL (https://www.clubdelphi.com/foros/showthread.php?t=7074)

darkone2k3 02-02-2004 18:14:18

Conectarse en ADO a través de un DLL
 
Salu2 nuevamente amigos foristas.

Estoy trabajando con ADO para conectarme a una BD en Access.
Uso un DataModule, donde tengo un ADO Connection y una Query.
En mi sistema tengo una DLL con varias funciones, como validar RUT(Chile), validar fecha, etc.
Tengo varios formularios en los cuales debo llenar algunos combobox's y memo's con datos de la BD. Entonces para no repetir esas rutinas de llenado de datos, quiero crear una función en mi DLL para esto.
Tengo creada la función para llenar los combobox's pero me arroja un error de violación de memoria.
Aqui les dejo el codigo de la función.
Código:

Function Rellena( Combo: TComboBox; Buscar: String; Tabla: String ): String;
begin
//  Try
      ShowMessage('1');
      DM.Query.Close;
      ShowMessage('2');
      DM.Query.SQL.Clear;
        DM.Query.SQL.Add( 'Select ' + Buscar + ' From ' + Tabla + ' Where 1 = 1 Order By ' + Buscar );
      DM.Query.Open;
      While Not DM.Query.Eof Do
      Begin
        Combo.Items.Add( DM.Query.FieldByName( Buscar ).AsString );
        DM.Query.Next;
      End;
{  Except
      Application.MessageBox( '¡Error en el Procedimiento Llenar ComboBox!, Contacte a su Proveedor de Servicio', 'Error', Mb_Ok + Mb_IconError );
  End;}
End;

Pero me da un error después de mostrar el '1' como resultado del ShowMessage. Y no sé a que se puede deber este error.

Por si acaso, tengo incluido en el uses de la DLL, la unit Data_Module.

Necesito de su ayuda amigos.

Salu2 desde Chile

darkone2k3 02-02-2004 20:12:53

Ya solucioné el problema, amigos.

Lo que pasa es que estaba usando el ADOConnection y la Query de mi sistema, por eso me arrojaba el error, así es que opté x crear el ADOConnection y la Query en tiempo de ejecución en la DLL.

Salu2 desde Chile.


La franja horaria es GMT +2. Ahora son las 16:23:36.

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