[ruby-it] Distruttore di classi
Michele Casari
lablinux a gmail.com
Mar 16 Set 2008 12:42:31 CEST
La classe mi serve per gestire file excel, il distruttore mi serve per
chiuder l'area di lavoro e il file, dopo la chiusura libero le risorse
impostando a nil.
La GC non mi rilasciava il file excel appena creato quando o mettevo a
nil l'istanza della classe Xls.
Comunque la soluzione c'è:
# ------------- CLASSE
require 'win32ole'
class Xls
attr_reader :nome_file, :sheet , :excel, :workbook
def initialize(nomefile, fogli)
[...}
end
def elabora
yield
fine()
end
def scrivi_cella(row, col, valore)
@sheet.cells(row,col).value = valore
end
[...]
private
def fine
@workbook.close
@workbook = nil
@excel.Quit
@excel = nil
GC.start #Force Garbage Colelction
end
end
# ---------------------- EOF
x = Xls.new("#{RAILS_ROOT}/public/temp/test_001.xls", fogli)
x.elabora do
x.scrivi_cella(1,1, 'michele')
end
P.S. non ho incollato tutta la classe per motivi di spazio, se ti serve
ti faccio un allegato.
Ciao Michele.
--
Posted via http://www.ruby-forum.com/.
More information about the Ml
mailing list