Re: [ROOT] Class derived from TFile, GetSize() problem

From: Rene Brun (Rene.Brun@cern.ch)
Date: Tue May 07 2002 - 08:41:53 MEST


Hi Conrad,

TFile::GetSize was non virtual in 3.02. We changed it to a virtual
function in version 3.03

Rene Brun

Conrad Steenberg wrote:
> 
> Hi
> 
> I have a class, similar to TWebFile, that derives from TFile. I can get
> it to read the file from a remote source, but it seems like the
> TFilee::GetSize() method gets called, instead of my derived GetSize()
> method. The class definition looks like this:
> 
> class  TCWebFile: public Clarens, public TFile
> {
> private:
> // Some stuff
> 
> public:
> //...
> Seek_t  GetSize() const;
> };
> 
> and in the implementation:
> 
> Seek_t TCWebFile::GetSize() const
> {
>    // Return maximum file size to by-pass truncation checking.
>    cout<<"GetSize()"<<endl;
>    return kMaxInt;
> }
> 
> When I create my TCWebFile object, I get
> 
> Error in <TCWebFile::GetSize>: cannot stat the file <...>
> Error in <TCWebFile::TFile>: cannot stat the file <...>
> 
> which looks suspiciously like the output from TFile.cxx:730, where
> TFile::GetSize() is defined.
> 
> Any ideas?
> 
> Cheers!
> 
> Conrad
> 
> --
> *-----------------------------------------*
> | Conrad Steenberg                        |
> | Caltech, Mail Code 356-48               |
> | Pasadena, CA, 91125                     |
> | e-mail: conrad@hep.caltech.edu          |
> | Tel: (626) 395-8758                     |
> *-----------------------------------------*



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:52 MET