嵌入式框架中,用Dynamic定义方法,可否提升兼容性

嵌入式框架中,用Dynamic定义方法,能否提升兼容性?
问题场景:
自己设计的dll嵌入式框架。
主程序中,调用 TBase 及 virtual 方法,比如说 test1;
dll中继承TBase成TMyBase,并实现 test1(test1内调用TBase公开函数test2) 等方法。
主程序动态载入dll,实例化TMyBase,调用 test1, test2, test3。

众所皆知,dll中的TBase从内存位址的角度来说,
已经完全不同于主程序中的TBase的内存位址,
因此成功调用TMyBase的test1,test2,test3完全依赖于vtable是否正巧对上了。
如果因为各种奇怪的原因,比如Compiler版本不同,比如主程序偷偷改了TBase.test2的实现(接口没变),
还有其他各种暂没想到的原因,
最终都可能导致两份不同内存位址的vtable不再“正巧对应”上,
那么主程序调用dll就会发生莫名错误。

我的问题是,
TBase的virtual类方法,改用dynamic定义,情况会不会好些?
能不能保证接口不变(实现可能变)的情况下,还能够正确调用?
甚至Compiler版本不同情况下,兼容性达到最高?
------解决方案--------------------
一个是以空间换时间,一个是以时间换空间,没必要。也没什么效果。