Quiero hacer una interfaz, pero no sé algo.¿OleVariant se puede usar para el parámetro out en el procedimiento DLL?
¿Es OleVariant
un "estándar" para contener una cadena "estándar" - para pasar y devolver?
function Any(Input : OleVariant; out Output : OleVariant) : integer; stdcall;
El otro lado es quizás .NET, C# o C++ o Delphi.
Entonces, ¿pueden respaldar algunos resultados de "cadena" en OleVariant
sin pasar un buffer de tamaño predefinido para el resultado?
Use WideString para pasar variables de cadena y ahórrese el problema. Eche un vistazo [aquí] (http://stackoverflow.com/questions/8414972/delphis-sharemem-when-it-is-not-needed) para algunos punteros adicionales –
OleVariant * no * contendrá una cadena "estándar" (si una cadena estándar es una cadena Delphi). Cuando asigna una cadena a OleVariant, la cadena se convertirá en "WideString". –