[CORBA] ORB lässt sich nicht runterfahren

Hallo,

ich habe ein Problem beim Herunterfahren meines ORBs.
Ich benutze ORBacus 4.3.0 und Visual C++ 6.0.

Hier ein bisschen vereinfachter Code zur Anschauung:

class MeinCORBAServer
{
private:
 ::CORBA::open\_mouth:RB\_var orb; // Der ORB wird in start() initialisiert.

public:
 void start() // Server hochfahren
 { 
 /\* Quasi Lehrbuch-Code \*/
 orb = ::CORBA::open\_mouth:RB\_init(argc,argv); 
 // ... 
 orb-\>resolve\_initial\_references("RootPOA");
 // ...
 orb-\>resolve\_initial\_references("NameService");
 // ...
 orb-\>run(argc, argv);
 }

 void stop() // Server herunterfahren
 {
 // ... diverses anderes aufräumen
 if(!::CORBA::is\_nil(orb))
 orb-\>shutdown(true); // Laufzeitfehler R6025

 cout 

So, das Problem ist jetzt dieser shutdown-Aufruf. Er kompiliert sauber, aber ich erhalte den Laufzeitfehler "R6025 : pure virtual function call", wenn er dran ist.

Dass er überhaupt zur Laufzeit auftritt, lässt vermuten, dass die ORB-Referenz ungewollt auf eine Basisklasse zeigt, aber... ich hab doch nix gemacht! :frowning:

Kennt jemand das Problem oder hat auch nur irgendeine Idee, woran das liegen könnte? Ich bin für jede Hilfe wirklich dankbar! :smile:

kvida