Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Enviar un AdoQuery entre dll's con apuntadores (https://www.clubdelphi.com/foros/showthread.php?t=25298)

nacho 19-09-2005 05:57:38

Enviar un AdoQuery entre dll's con apuntadores
 
Saludos.

Necesito realizar una consulta a una base de datos desde una dll, esto lo estoy haciendo mediante un AdoQuery. El problema no es la consulta, sino que el resultado obtenido de la consulta tengo que pasarlo como parametro a otra dll. Lo que he intentado es crear un objeto en la dll que recibe el resultado de la consulta (otro AdoQuery) y el paso de parametros lo hace bien pero al intentar consultar los resultados de la consulta genera un error. Ya intente tambien pasandolo como apuntador pero genera el mismo error. Me han dicho que para el paso de parametros entre dll con consultas de bases de datos se realiza con apuntadores, pero no se como realizarlo.

Agradeceria me dijeran como hacerlo. Gracias.

droguerman 20-09-2005 00:11:44

lo que debes tener en cuenta que una instancia de una clase en delphi es un puntero y que una DLL se abre en el espacio de direcciones del programa que las llama así que podrias castear tu adoQuery como un longint:

Código Delphi [-]
 function obtenerConsulta: longint; stdcall;
 begin
 result := longint(myAdoQuery);
 end;

y en tu otra dll llamarla de igual manera:
Código Delphi [-]
 var
    myQuery: TAdoQuery;
 begin
   myQuery := TADOQuery( obtenerConsulta );
 end;

nacho 27-09-2005 23:50:15

con lo que me dices me sale el mismo mensaje de error referente a los apuntadores. Lo que me dices unicamente funciona para datos normales (como enteros, cadenas, widestring, etc.) pero para el dataset obtenido de una consulta no funciona, ya que pasas todo un grupo de datos. Gracias por la ayuda de todas formas.

Pero aun no me queda.!!!!!!!!!


La franja horaria es GMT +2. Ahora son las 05:02:38.

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