Re: Who's responsible for deletion?

Florian Schopper (fls@ipp-garching.mpg.de)
Tue, 15 Sep 1998 11:56:57 +0200 (MET DST)


Dear Rooters,

when I want to add my classes to root, I run into the following problem
with structs:

Assume the following as Headerfile.h:
/////////////////////////////////////////////////
#include "TObject.h"

struct v550Map {
unsigned short CRAMintr; /* CRAMS Interrupt Register W*/
unsigned short CRAMstat; /* CRAMS Status Register RW*/
unsigned short CRAMnumch; /* Number of channels RW*/
unsigned short CRAMclear; /* CRAMS Module Clear W*/
unsigned char PADDR1[226]; /* hole R */
};

class VmeModule : public TObject
{
private:
int VmeAdress;
int VmeSize;

struct v550Map *Map; // Actual Registers
struct v550Map Dummy; // If no hardware connected

VmeModule(void){}
ClassDef(VmeModule,1)
} ;
////////////////////////////////////////////////////

The problem starts when creating the directory files:

rootcint -f vme_Cint.cxx -c testst.h LinkDef.h
Note: operator new() masked 1c
Note: operator delete() masked 1c
*** Datamember VmeModule::Dummy: object has no Streamer() method (need
manual intervention)

Sometimes I get the same for the *Map too.
I don't need Object I/O for these structs, but I can't load the .so
when Dummy or *Map is used.
If I uncomment the structs, everything is fine for the rest of the
classes.

thanks
Florian Schopper

----------------------------------------------------------------------
Florian Schopper office: Max-Plank-Institut fuer
extraterrestrische physik
Ludwig-Merk str. 3 Postfach 1603
80805 Muenchen Giessenbachstr.
phone: 49/89/3226157 Garching bei Muenchen

phone: 49/89/3299 3625
fax: 49/89/3299 3569
e-mail: fls@mpe-garching.mpg.de
http://wwwcn1.cern.ch/~fschoppe
----------------------------------------------------------------------
-----------------------------------------------------------------------