Subj : Calling virtual functions in destructors (use BCB for test) To : borland.public.cpp.borlandcpp From : "H.R." Date : Mon Sep 29 2003 09:35 am Hi, Please have a look at the code below, class Base { public: virtual ~Base(){Func();} virtual void __fastcall Func(void){ShowMessage("Base");} }; class Derived : public Base { public: virtual ~Derived(){} virtual void __fastcall Func(void){ShowMessage("Derived");} }; I expect that the function "Func" of the derived class called during destruction of the derived object. But if you run this code (using BCB), you will see that the virtual function does not called as I expected. Why? If the Borland compiler destruct Virtual Method Tables before object destruction? Regards, .