无法转换COM对象

时间:2013-02-22 06:33:56

标签: quickbooks

使用以下代码我尝试使用QBFC从快速书籍中读取项目数据。

但是我收到了错误:

无法将“System .__ ComObject”类型的COM对象强制转换为接口类型“Interop.QBFC11.IItemSalesTaxRetList”。此操作失败,因为对于具有IID'{C53D1081-9FE4-4569-9181-A9D7E0155907}的接口的COM组件的QueryInterface调用由于以下错误而失败:不支持此类接口(HRESULT异常:0x80004002(E_NOINTERFACE))

我在下面看到了链接;

http://blogs.msdn.com/b/vsnetsetup/archive/2012/10/05/unable-to-cast-com-object-of-type-system-comobject-to-interface-type.aspx

但这是安装软件的问题(安装后)。但是这个问题与问题不同。

让我知道为什么......我使用相同的流程获取客户和供应商数据......我没有收到任何错误....

代码:

IItemSalesTaxRet itemRet = default(IItemSalesTaxRet);

IItemSalesTaxRetList itemRetList = default(IItemSalesTaxRetList);

IResponse response = responseSet.ResponseList.GetAt(0);

if ((response.Detail != null))

            {

     itemRetList = (IItemSalesTaxRetList)response.Detail; // here i am getting error

                if ((itemRetList != null))
                {

                    for (int j = 0; j <= itemRetList.Count - 1; j++)
                    {
                        itemRet = itemRetList.GetAt(j);
                        if ((itemRet != null))
                        {


                           if (itemRet.Name != null)
                           {

                                Name = GetStringValue(itemRet.Name);
                              Name = Name.Replace(',', ' ');

                           }
                           else
                          {
                              Name = string.Empty;
                          }


               }
        }
  }

1 个答案:

答案 0 :(得分:0)

我看到这篇文章很老了,但有成千上万的开发人员使用Intuit的SDK有相同/类似的问题。 不知道这是否会有所帮助,但Quickbooks库中有很多接口不再受支持,即使它们出现在屏幕上的引用上。你甚至可以让intellisense显示一个支持的方法,但是当他们(重新)编译他们的dll时,他们忘了删除一些接口。我多次遇到这个令人抓狂的问题 - “IItemSalesTaxRetList”似乎是他们删除的那些方法之一。