AW: deactivation of implicit factory object?

"Decoster Jean Louis" <[email protected]> Tue, 17 Jan 2006 09:32:48 +0100
Newsgroups gmane.comp.corba.orbacus
Message-ID <[email protected]>
Hallo 

I only want short to say that I have found the error concerning my
failure.

I have founf in the configuration file from Orbacus that Orbacus uses
the c++6.0  project option flag /MDd. My project was using the value
/MLd. I only changed that and the system runs ok.

 

I profit from this writing to ask for information concerning the use of
Orbacus 4.3 and c++ dotNet? I need try to move to c++ dotNet but I don't
know what I have exactly to do?

Are there some restrictions.  Is that easy to make the code from Orbacus
compiler running well with c++ dotNet? Thanks in advance for suggestions
and types.

Jean-Louis

 

 

________________________________

Von: [email protected] [mailto:[email protected]]
Im Auftrag von Decoster Jean Louis
Gesendet: Dienstag, 10. Januar 2006 11:56
An: David Weir
Cc: [email protected]
Betreff: [OB-Users] deactivation of implicit factory object?

 

Hello Daves

 

Thanks a lot for your recent support information's from the end of the
last year. I could use them successfully to go on developing my test
software.

At this moment the system is not working when I want to deactivate an
implicit activated factory object? I have tried all codes possibilities
found in your documentation but I always get the following failure:

 

 

HEAP[eLOckDb_Cons.exe]: Invalid Address specified to RtlValidateHeap(
003B0000, 01148508 )

 

Activation of the object:

 

::eLockidl::placeCorba_ptr         vdb_placetable::getNew() {

                        obj_Place* newPlace = new obj_Place(this);

                        return    newPlace->_this();

                        }

 

Deactivation of the object:

 

void      obj_Place::destroy() {

                                   if(id > 0) {

                                               // Use _default_POA (=
rootPOA) for deactivation as object

                                               // was created with
_this() operation

                                               //

                                               PortableServer::POA_var
poa = _default_POA();

 
PortableServer::ObjectId_var oid = poa->servant_to_id(this);

                                               poa ->
deactivate_object(oid);

                                   }

                        }

 

 

The failure comes in Template module when the statement
PortableServer::ObjectId_var oid = poa->servant_to_id(this);  has been
executed in the destroy function?

    //

    // Standard IDL to C++ Mapping

    //

    SeqVar() : ptr_(0) { }

    SeqVar(T* p) : ptr_(p) { assert_nca(p != 0, NCANullInit); }

#ifdef HAVE_VCPLUSPLUS_BUGS

    SeqVar(const SeqVar<T>& r) { ptr_ = r.ptr_ ? new T(*r.ptr_) : 0 ; }

#else

    SeqVar(const SeqVar<T>& r) : ptr_(r.ptr_ ? new T(*r.ptr_) : 0) { }

#endif

    ~SeqVar() { delete ptr_; }

 

    SeqVar<T>& operator=(T*);

    SeqVar<T>& operator=(const SeqVar<T>&);

 

 

I can't explain myself what is going wrong. I should be very pleased to
receive some suggestions about how can I solve my problem.

Thank you very much and regards

 

Jean-Louis

 

Once more have a very good and happy 2006 year - Encore une fois
meilleurs voeux pour 2006

_______________________________________________
OB-Users Mailing List - [email protected]
http://mail.ooc.nf.ca/mailman/listinfo/ob-users
Visit our support FAQ before you send a message.
http://www.orbacus.com/faq/support.html