Ok, I'll try to give a better explanation (the application is rather large,
so let's try theory before example :)
I have a library (sim.lib) that has a class with a method which accesses a
stack allocated TFile. After the constructor call of the TFile, I check
file.IsOpen().
CSim::LoadFile(const char* filename){
TFile file(filename,"UPDATE");
if(!file.IsOpen()){
return 0;
}//if
}
This method works correctly in my applications where it is linked as a
static library. (.lib)
I have another project (SimDLL) which is a dll wrapper for the simulator
library. In this version, when I call CSim::LoadFile("yada-yada"), I'm
getting an access violation in libcore.dll on the file>IsOpen() call. (File
exists and pathing to it is correct).
Does this illustrate the problem any better?
Thanks Rene!
Brandon
>
> ----- Original Message -----
> From: "Rene Brun" <Rene.Brun@cern.ch>
> To: "Brandon Kohn" <blkohn@hotmail.com>
> Cc: "Roottalk List" <roottalk@pcroot.cern.ch>
> Sent: Monday, April 22, 2002 9:13 AM
> Subject: Re:
>
>
> > Please give more details with an example if possible.
> >
> > Rene Brun
> >
> > Brandon Kohn wrote:
> > >
> > > Part 1.1 Type: Plain Text (text/plain)
> > > Encoding: quoted-printable
> > Hello rooters,
> >
> > Got a quick question. I have a library that makes use of a TFile. When
I
> use
> > this library as a static link, everything is peachy. When I try use the
> methods
> > within when linking as a dll, the TFile doesn't open. I suspect that
> gDirectory
> > is NULL or something of this nature. Any clues on how I should rectify
> this
> > problem?
> >
> > Thanks as usual
> >
>
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:50 MET