Ver Mensaje Individual
  #1  
Antiguo 23-10-2008
Dado de baja Dado de baja is offline
Miembro
 
Registrado: ago 2007
Posts: 140
Reputación: 19
Dado de baja Va por buen camino
Error con AdoQuery y 2 Form

Hola.
He creado una pequeña aplicación para uso propio que tira de MySql para guardar una lista de Archivos de respaldo en DVD.

Hasta ahora tenía un form principal y un DataModule. En este último un método que es que uso para recoger y guardar datos en la tabla.

Código Delphi [-]
procedure TTDM.GetSql(consulta:string; var ds:Tdataset);
begin
  if not ADCON.Connected then
     ADCON.Connected:=true;

  ADQ.Close;
  adq.SQL.Clear;
  adq.SQL.Text:=consulta;
  adq.Open;
  ds:= adq;

END;

El problema viene cuando al crear una nueva form donde obtengo una lista de archivos agrupados por categorías con el núm de elementos:

Código Delphi [-]
Procedure Tform4.cargaCat;
var
  s: string;
  ds: TdataSet;
begin
s:='Select Categoria, count(*) as n from catdvd group by categoria';
ds:=Tdataset.Create(self);
Tdm.GetSql(s,ds);
with ListBox1 do
begin
  items.Clear;
  ds.First;
  while not ds.Eof do
  begin
    s:=ds.FieldByName('categoria').AsString;
    s:=s+'  ('+ds.FieldByName('n').AsString+')';
    items.Add(s);
    ds.Next;
  end;
end;
ds.Free;
end;

Aquí va todo correctamente, se muestran las categorías y todo.

Pero tras cerrar esta form, cuando hago cualquier nueva consulta desde la form principal da un error de "Access Violation at address..."

Esto pasa siempre que invoco al form de categorías. Y pasa al intentar cerrar el AdoQuery para una nueva consulta.

¿ que puede ser ?

He mirado todo, que no se quede abierto ningun DataSet, que la form de categorías se libere tras cerrarla y no doy con el problema.
__________________
Saludos Cordiales.
------------------
Responder Con Cita