Ver Mensaje Individual
  #1  
Antiguo 30-03-2005
Avatar de Xianto
Xianto Xianto is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nací en Neuquén (ARG), desde 2001 Spain
Posts: 151
Reputación: 20
Xianto Va por buen camino
Destroy de mala madre...

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
__________________
El diseño dira si tiene futuro...
Responder Con Cita