tags:

views:

74

answers:

1

I am using C# interop to call a macro from C#.

This works fine.

However I am passing in an argument which the macro populates in the event of an error.

app.Run(macroName, errrObj, Type.Missing, Type.Missing, Type.Missing, ........);

Is there any way to get C# to actually read the new value that the arg is set too?

Am I doing this wrongly??

The macro simply does this

Public sub abc(errorObj as variant)
errorObj = "HELLO WORLD"
End Sub
+1  A: 

No, according to the IDL, this parameter is In. There is no way to read it from C#. Alternatively, try to use a global variable:

Dim errorObject as String

Function GetError As String
    GetError = errorObject
EndFunction

Funcion func(...)
   ...
   errorObject = ....
End Function
J-16 SDiZ
Thanks - Do you have a link to the IDL which confirms this please?
ChloeRadshaw