Re: [ROOT] typedef streaming

From: Rene Brun (Rene.Brun@cern.ch)
Date: Fri Dec 12 2003 - 11:33:17 MET


Hi,

This problem with typedef of basic types defined in a dynamically loaded shared
lib has been solved in the development version in CVS.
As a workaround in your example, do:

write() {
gSystem->Load("typeShared.so");
gInterpreter->UpdateListOfTypes(); //<add this line
TypeTest *a = new TypeTest(10);
TFile file("class.root", "RECREATE");
a->Write();
}


Note, however, that your example cannot work as it is.
You have a member
  mtype* num;
that is a pointer to a basic type. To stream your class, you have
to indicate the dimension of the array you are pointing to, something like
  int n;
  mytype *num;  //[n]

Rene Brun

stanly wrote:
> 
> Hello ,
> 
>   I have some problem with streaming typedef,
>   when i make typeShared.so
> 
>   .L typetest.c
>   write()
> 
>   I have error
> 
>   Error in <TStreamerInfo::Build>: TypeTest, unknow type: mytype* num
> 
>   Can anybody help me?
>   Thanks!
> --
> Best regards,
>  stanly                          mailto:stanly@konto.pl
> --
> ------------------------
>  Jeszcze lepsza oferta AlphaNet
>  - nowe serwery wirtualne
>  - nowy sklep internetowy
>  - nowy wirtualny administrator
>  Sprawdz www.alpha.pl
> ------------------------
> 
>   --------------------------------------------------------------------------------
>                Name: test.rar
>    test.rar    Type: unspecified type (application/octet-stream)
>            Encoding: base64



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:17 MET