Ver Mensaje Individual
  #1  
Antiguo 13-05-2006
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Reputación: 21
AGAG4 Va por buen camino
Como Liberar un OleObject ????

Buen día tengan todos ustedes, tengo una aplicación donde leo hojas de cálculo de Microsoft Excel, la forma que leo esto es creando OleObject, explico en el fuente:
Código Delphi [-]
//Primeramente declaro una variable 
Var
Excel : Variant; 
  Hoja : _WORKSHEET;
begin
  //***** Creamos el Objeto Ole *****//
  try
    Excel := CreateOleObject('Excel.Application');
  except
    Excel.Quit;
    showmessage('No se pudo crear el Objecto Excel.');
    raise;
  end;
 
  try
     //***** Asignamos el archivo a abrir *****//
     Excel.Workbooks.Open(edRuta.text);
     Libro :=Excel.WorkBooks[1].WorkSheets[edLibro.text];
     Excel.Visible := false;
 
     //Leemos Celdas de Interés
     Total:=Libro.Cells[1,1];
     Iva:=Libro.Cells[2,1];
  finally
     //Liberamos Hoja de Cálculo
     Excel.Workbooks.close;
     Excel.Quit;
     Excel:= Unassigned;
  end;
end;

El Problema que tengo es que NO me libera la Hoja de Cálculo dentro de Win98, se queda en memoría y si ejecuto varias veces este pedazo de código, la Pc se me Cicla y la tengo que Reiniciar.

Ya he buscado aqui en el foro y mencionan lo mismo para liberar un OleObject tengo que usar lo que añado en el finally....end , No ha habido alguien que haya usado estos objetos con Win98????

Con XP SI me libera el objeto.

Como se liberan los OleObject dentro de Win98????

Agradezco cualquier Sugerencia.

Última edición por AGAG4 fecha: 13-05-2006 a las 02:11:58.
Responder Con Cita