Chcę stworzyć interfejs, ale czegoś nie wiem.Czy OleVariant jest użyteczny dla parametru out w procedurze DLL?
Czy OleVariant
jest "standardem" zawierającym "standardowy" ciąg znaków - do przekazania i zwrotu?
function Any(Input : OleVariant; out Output : OleVariant) : integer; stdcall;
Kolejna strona to może .NET, C#, C++ lub Delphi.
Czy mogą one przywrócić wynik "ciąg" w OleVariant
bez przepuszczenia wstępnie zdefiniowanego bufora rozmiaru dla wyniku?
Użyj WideString do przekazywania zmiennych łańcuchowych i oszczędzaj sobie kłopotów. Spójrz [tutaj] (http://stackoverflow.com/questions/8414972/delphis-Sharemem-when-it-is-not-needed) dla niektórych dodatkowych wskaźników –
OleVariant * nie * będzie zawierał "standardowy" ciąg znaków (jeśli standardowy ciąg jest łańcuchem Delphi). Kiedy przypisujesz ciąg do OleVariant, ciąg zostanie przekształcony w "WideString". –