Hallo liebes Forum,
was unter VBA wunderbar funktioniert wird der Horror in .NET.

Dim AS400 As New ADODB.Connection
Dim Programm As New ADODB.Command
Dim Rcds As Long
Dim Parm() As Object
AS400.Open("Provider=IBMDA400;Data Source=AS400;")
Programm.ActiveConnection = AS400
Programm.CommandText = "{{CALL /QSYS.LIB/AM.LIB/FEBDEBUC.PGM(?)}}"
Programm.Prepared = True
Programm.Parameters.Append(Programm.CreateParamete r("Funktion", ADODB.DataTypeEnum.adChar, ADODB.ParameterDirectionEnum.adParamInputOutput, 5))
Parm(0) = "Write"
Programm.Execute(Rcds, Parm, ADODB.CommandTypeEnum.adCmdText)
AS400.Close()

Beim Append gibt es diesen Laufzeitfehler:
Das COM-Objekt des Typs "System.__ComObject" kann nicht in den Klassentyp "ADODB.InternalParameter" umgewandelt werden. Instanzen von Typen, die COM-Komponenten repräsentieren, können nicht in andere Typen umgewandelt werden, die keine COM-Komponenten repräsentieren. Eine Umwandlung in Schnittstellen ist jedoch möglich, sofern die zugrunde liegende COM-Komponente QueryInterface-Aufrufe für die IID der Schnittstelle unterstützt.

Bitte Hilfe...

PS: Wird damit auch ein geänderter Parameterwert zurückgegeben?