PDA

Ver la Versión Completa : TQuery como parametro


jzk
14-10-2004, 15:40:43
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
...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:


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 ;



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.


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)