Hola... estoy enojadete (como diria Flanders) con un componente...
Se trata de un TADODataSet.. veamos un poco de código:
Código Delphi
[-]
procedure pepe()
var rec: integer;
vIndex: integer;
ADORecs: array [0..4] of TADODataSet;
begin
for x := 0 to 4 do
begin
ADORecs[x].Free;
end;
vIndex := 0;
ADORecs[vIndex] := TADODataSet.Create(Self);
with ADORecs[vIndex] do
begin
Name := 'ADORecs'+IntToStr(vIndex);
CursorType := ctStatic;
LockType := ltReadOnly;
end;
..........
end;
El problema es simple, ejecuto el procedimiento con una sola query por lo que solo uso un solo ADODataSet, que en el primer caso el Name seria ADORecs0... hasta ahi todo bien...
El problema al ejecutar el procedimiento una segunda vez, ya que al pasar por la linea: Name := 'ADORecs'+IntToStr(vIndex), intenta nuevamente dar el nombre de ADORecs0, pero el nombre existe, por lo cual el componente no fue destruido...
Como puedo hacer para eliminarlo a el y a los suyos de una vez y por todas sin que me falle de nuevo ???
Desde ya agradecidito.... jejeje