Передача строки [] в качестве ссылки на объект в COM-объект - PullRequest
1 голос
/ 25 мая 2011

У меня есть веб-сервис, который оборачивает функции COM-объекта с целью уменьшения ошибок связи RPC.Параметр, который я передаю определенному веб-сервису, это string[].Кажется, проблема заключается в функции объекта COM, которая требует ссылки на объект.

Некоторые ошибки будут отображаться на веб-странице, поскольку они происходят из COMClass (ошибка 87), другие - ошибки компилятора.Я попытался указать, что ниже.

[WebMethod(EnableSession=true)]
public int WSFunc(string[] StringArray){
    //object StringArr = (object)((object[])StringArr); //returns error 87 in webpage log
    //object StringArr = (object)StringArr; //returns error 87 in webpage log

    //public override int COMClass.Func(ref object pStringList)
    return COMClass.Func(ref StringArr);

    //return COMClass.Func(ref StringArray); //Doesn't build, cannot convert from 'ref string[]' to 'ref object' (CS1503)

    //return COMClass.Func(ref (object)StringArr);  //Doesn't build, A ref or out argument must be an assignable variable (CS1510)
}

Кроме того, это дает тот же результат (ошибка 87 - неверный параметр):

[WebMethod(EnableSession=true)]
public string WSFunc(string[] StringArray){
    object[] StringObj = new object[StringArray.Length];
    for(int i = 0; i < StringArray.Length; i++){
        StringObj[i] = StringArray[i];
    }

    object MyString = (object)StringObj;
    return ComClass.Func(ref MyString);
}

Кто-нибудь еще сталкивался с этимвопрос

1 Ответ

0 голосов
/ 25 мая 2011

Я думаю, что эта статья должна помочь вам настроить сортировку для com-взаимодействия.

http://msdn.microsoft.com/en-us/library/aa645736(v=vs.71).aspx

...