Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Crear query dentro de unit y funcion? (https://www.clubdelphi.com/foros/showthread.php?t=23413)

alehillebrand 15-07-2005 23:20:48

Crear query dentro de unit y funcion?
 
Estimados amigos , otro problema, tengo un unit en el cual deseo crear una funcion para ejecutar una consulta, un unit sin form, la idea es que cuando quiera ejecutar la consulta llame a ese unit.funcion y le pase los parametros y listo, pero estoy teniendo problemas con la creacion de la consulta, al hacer el query.create(), me tira error de falta de parametros, al poner query.create(self) me indica q no esta definido
ahi va un ejemplo


Cita:

procedure xxx;
var con: TIBQuery;
begin
con.Create(>>acca q pongo???<<);
con.Database:= principal.Base_de_Datos;
con.Transaction:= principal.Transaccion;
con.Close;
con.SQL.Clear;
con.SQL.Add(aux);
con.ExecSQL;
con.Free;
end;

dec 16-07-2005 01:02:23

Hola,

Nunca utilizé ese componente, así que acaso alguien pueda corregirme: por favor, háganlo si es menester.

Creo que tienes al menos un par de problemas. Primeramente que el componente has de crearlo tal que así:

Código Delphi [-]
  var
    con: TIbQuery;
  begin
    con := TIbQuery.Create(...);
    // con.Create(...) {Así no}
  end;

Por otro lado, el parámetro que te pide es de tipo "TComponent". Creo que puedes optar (al menos, ya digo, o tal vez) por encapsular esa función en algún componente "TComponent" o descendiente de "TComponent". De ese modo podrás ya utilizar el miembro implícito "Self".

O, de otro modo, añadir a tu unidad la unidad "Forms", de tal manera que puedas hacer uso del objeto Application de este modo:

Código Delphi [-]
 var
    con: TIbQuery;
  begin
    con := TIbQuery.Create(Application);
  end;

lucasarts_18 17-07-2005 05:55:00

Hola:

Ponle como parámetro nil, es decir que no tenga dueño, eso sí, deberás destruirlo tú mismo.

Saludos :cool: .

alehillebrand 19-07-2005 00:56:59

Gracias x la ayuda, funciono muy bien.


La franja horaria es GMT +2. Ahora son las 14:15:52.

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