all of a sudden the code in function sometest fails to compile, and I get the error E2247 "__fastcall TTest::GetLanguage(int)" is not accessible.
And I fail to understand why that is. Based on the error message, the compiler picked the correct overloaded member function to call. It's still the same private member as before. But without the public overloaded member present, I can call the private one through the property, and with the public one I no longer can.