Неуправляемый IPictureDisp To Managed Object - PullRequest
0 голосов
/ 02 декабря 2018

Я работаю Api Call DLL для Excel с VB.Net.(Неуправляемый экспорт Роберта Гизеке) Стандартные типы (числовые, строковые) работают.Но при попытке с возвращаемым типом объекта ошибка.

Сообщение об ошибке: «Неизвестное имя. (Возврат исключения HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME)))»

Моя функция - (Ошибка - IPictureDisp To Bitmap):


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
...