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