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