Yes, OleVariant absolutely safe. You will see that it is used in all COM modules related to Delphi, such as ActiveX, ComSvcs, and MSXML. Windows API building blocks use it, so you can too.
If you always expect a string, then you should prefer WideString . This is equivalent to the Windows BSTR type.
source share