Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   TQuery como parametro (https://www.clubdelphi.com/foros/showthread.php?t=15213)

jzk 14-10-2004 15:40:43

TQuery como parametro
 
Hola a tod@s,

Tengo la necesidad imperiosa de pasar a un procedimiento un objeto TQuery como parametro pero no se como hacerlo (si es que fuera posible).

¿Algun@ de ustedes podría ayudarme?

Neftali [Germán.Estévez] 14-10-2004 16:01:42

Cita:

Empezado por jzk
...Tengo la necesidad imperiosa de pasar a un procedimiento un objeto TQuery como parametro pero no se como hacerlo ...

Puedes pasar cualquier objeto por parámetro, incluído un TQuery:

Código Delphi [-]
interface
...
  procedure EjecutaQuery(Q:TQuery);
 
implementation
...
 
procedure EjecutaQuery(Q:TQuery);
begin
  Q.Open;
end;
 
....
 
 
// La llamada
...
var
  Query:TQuery;
begin
  Query := TQuery.Create(...);
  Query.SQL.Add(...);
  EjecutaQuery(Query);
...

jzk 14-10-2004 16:08:05

Eso es lo que había intentado pero me da un error en la declaración del procedimiento diciendome : "Undeclared identifier: TQuery".

quetzal 14-10-2004 16:11:22

Si no estoy errado creo que te falta que declares la unidad para usar la clase Tquery, agrega esto en el uses a DBTables.

espero te sirva :cool:

jzk 14-10-2004 16:16:33

Lo tengo incluido de tal manera que quedaría así, pero me da el mismo error ;



Código:

unit procedimientos;
 .....
interface
 procedure ejecuta_sql( Q :TQuery);
  .....

 implementation
 
 uses sysutils,variants,Qdialogs,ExtCtrls,DBTables;
 
 procedure ejecuta_sql (Q:TQuery);


Neftali [Germán.Estévez] 14-10-2004 16:40:15

Puesto que en interface tambien usas TQuery la unit DBTables no puede estar en el usues de implementation sino en el de interface.

Código Delphi [-]
unit procedimientos; 
  .....
interface
uses DBTables;
  procedure ejecuta_sql( Q :TQuery); 
  ..... 
implementation 
uses sysutils,variants,Qdialogs,ExtCtrls; 
procedure ejecuta_sql (Q:TQuery);

jzk 14-10-2004 16:45:45

Ahora si que si, muchiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiisimas gracias a l@s dos (Neftali, quetzal)


La franja horaria es GMT +2. Ahora son las 06:39:25.

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