powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / (COM) Разная интерпретация одного и того же метода в С++ и Vb.Net/C#(Interop)
8 сообщений из 33, страница 2 из 2
(COM) Разная интерпретация одного и того же метода в С++ и Vb.Net/C#(Interop)
    #39521749
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто третий параметр туда дописать?
По логике то что в оригинале является 3-м параметром ([out, retval] LONG *plErrorBodyFile),
за его отсутствием вбухивается в то что ф-ция в Interop возвращает (-1 при успехе она возвращает),
а HRESULT вбухивается в Exeption (Err.Number).
Знать бы еще тот китайский на котором это дописать.
...
Рейтинг: 0 / 0
(COM) Разная интерпретация одного и того же метода в С++ и Vb.Net/C#(Interop)
    #39521752
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77Просто третий параметр туда дописать?
По логике то что в оригинале является 3-м параметром ([out, retval] LONG *plErrorBodyFile),
за его отсутствием вбухивается в то что ф-ция в Interop возвращает (-1 при успехе она возвращает),
а HRESULT вбухивается в Exeption (Err.Number).
Знать бы еще тот китайский на котором это дописать.

Взял бы и написал на CLI обётку и не мучался :)
...
Рейтинг: 0 / 0
(COM) Разная интерпретация одного и того же метода в С++ и Vb.Net/C#(Interop)
    #39521763
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
(COM) Разная интерпретация одного и того же метода в С++ и Vb.Net/C#(Interop)
    #39521764
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttВзял бы и написал на CLI обётку и не мучался :)
Да я как бы не мучаюсь, я понять хочу.
Ты имеешь ввиду CoInitialize/CoCreateInstance?
Задолбаешься.
...
Рейтинг: 0 / 0
(COM) Разная интерпретация одного и того же метода в С++ и Vb.Net/C#(Interop)
    #39521776
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77,

Preserve Signature смотри
...
Рейтинг: 0 / 0
(COM) Разная интерпретация одного и того же метода в С++ и Vb.Net/C#(Interop)
    #39521790
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилДмитрий77,

https://msdn.microsoft.com/en-us/library/ek1fb3c6(v=vs.90).aspx

О, прикольно :)
...
Рейтинг: 0 / 0
(COM) Разная интерпретация одного и того же метода в С++ и Vb.Net/C#(Interop)
    #39521794
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилДмитрий77,

Preserve Signature смотри

LONG *plErrorBodyFile

, [out] int32& plErrorBodyFile

сойдет?

попробуем-с...
...
Рейтинг: 0 / 0
(COM) Разная интерпретация одного и того же метода в С++ и Vb.Net/C#(Interop)
    #39521820
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,
все получилось, круто.
Код: vbnet
1.
2.
Function ConnectedSubmit2(pFaxServer As FAXCOMEXLib.IFaxServer, ByRef pvFaxOutgoingJobIDs As Object, ByRef plErrorBodyFile As Integer) As Integer
     является членом: FAXCOMEXLib.IFaxDocument2



Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
  Private Sub ButtonSendFax_Click(sender As Object, e As EventArgs) Handles ButtonSendFax.Click
    Dim objFaxServer As New FAXCOMEXLib.FaxServer
    Dim objFaxDocument As New FAXCOMEXLib.FaxDocument

    Try
      objFaxServer.Connect("")
      With objFaxDocument
        Dim bodies(2) As String
        bodies(0) = "C:\111\test_txt.txt"
        bodies(1) = "C:\111\win8.tif"
        bodies(2) = "C:\111\greet1.wav"
        .Bodies = bodies
        .Recipients.Add("500")
        .Sender.LoadDefaultSender()

        'send
        Dim strJobIds As Object = Nothing
        Dim dwRes As Integer
        Dim iErrorIndex As Integer
        dwRes = .ConnectedSubmit2(objFaxServer, strJobIds, iErrorIndex)
        Debug.Print("iErrorIndex=" & CStr(iErrorIndex))
        Debug.Print("ConnectedSubmit2 Error " & RaiseAPIErrorByNumber(dwRes))
        Try
          Dim strArrJobIds As String() = strJobIds
          Debug.Print("JobId=" & strArrJobIds(0))
        Catch
        End Try
      End With
    Catch ex As Exception
      Debug.Print(ex.Message)
    End Try

    Try : objFaxServer.Disconnect() : Catch : End Try
  End Sub



Возвращает:
Код: vbnet
1.
2.
iErrorIndex=2
ConnectedSubmit2 Error -2147023741 (Указанному файлу не сопоставлено ни одно приложение для выполнения данной операции)


(совсем другое дело - вместо тупого исключения "Operation failed")

Спасибо.
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / (COM) Разная интерпретация одного и того же метода в С++ и Vb.Net/C#(Interop)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]