vb.net - 非托管 IPictureDisp 到托管对象
问题描述
我正在使用 VB.Net 为 Excel 工作 Api 调用 dll。(Robert Giesecke 的非托管导出)标准类型(数字、字符串)正在工作。但是,当尝试使用对象类型时返回错误。
错误消息是:“未知名称。(返回的 HRESULT 异常:0x80020006 (DISP_E_UNKNOWNNAME))”
我的功能是(错误是 IPictureDisp 到位图):
Public Function GetTextQR_FromPicture(ByVal pictureDisp As IPictureDisp) As [MarshalAs(UnmanagedType.BStr)] String
'IPictureDisp
Return _qrDec.decode(New QRCodeBitmapImage(PicHelper.GetPictureFromIPictureDisp(pictureDisp)), Encoding.UTF8)
End Function
我的助手类:
Friend Class PicHelper
Inherits System.Windows.Forms.AxHost
Friend Sub New()
MyBase.New(Nothing)
End Sub
Friend Shared Shadows Function GetIPictureDispFromPicture(image As Image) As Object
Return System.Windows.Forms.AxHost.GetIPictureDispFromPicture(image)
End Function
Friend Shared Shadows Function GetPictureFromIPictureDisp(picture As IPictureDisp) As Image
Return System.Windows.Forms.AxHost.GetPictureFromIPictureDisp(picture)
End Function
End Class
解决方案
推荐阅读
- c# - 为什么 ap.Connect(authrequest) 返回空值?
- odoo - 在odoo中限制One2many Lines的条目
- java - 带有响应列表的 REST API 映射
- reactjs - React 多组件绑定
- python - 在 Python 中从文件中分离值
- javascript - 如何检查为 JavaScript 中的内置函数编写的实际代码?例如:toUpperCase() 或 toLowerCase()
- selenium - Selenium 错误:USB:usb_device_handle_win.cc:1058 无法从节点连接读取描述符
- python - 如何自动更改 QListWidget 中所选项目的颜色
- pandas - change multiple date time formats to single format in pandas dataframe
- time-complexity - 此代码是否具有时间复杂度 O(n^5) 或 O(n^3) 或其他任何内容?