Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. COM
  4. InvokeHelper

InvokeHelper

Scheduled Pinned Locked Moved COM
helpc++
15 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M MsmVc

    Ok i use

    VTS_PUI1 or VTS_PI4.

    both now error is same. If you need example code then i will give you.I need help.

    V Offline
    V Offline
    Vi2
    wrote on last edited by
    #6

    What declaration of method 0x60030002 do you have? What is a "Test objXl"?

    With best wishes, Vita

    M 1 Reply Last reply
    0
    • V Vi2

      What declaration of method 0x60030002 do you have? What is a "Test objXl"?

      With best wishes, Vita

      M Offline
      M Offline
      MsmVc
      wrote on last edited by
      #7

      See i don't much about InvokeHelper.I had download a project from Codeproject and make new project with the help of downloaded project.I am sending you a project link which have example code and Dll. Link is here Automating Microsoft Excel and Word Together[^] I am creating a new dll and write a new function.

      Public Function Get_List(SheetNumber As Long) As String
      ' Dim myExcel As Object
      Dim Counter1 As Integer
      Dim Returnstring As String
      Dim myWorkBook As Excel.Workbook
      Dim tworksheet As Excel.Worksheet

      ' myExcel = CreateObject("Excel.Application")
      ' myWorkBook = myExcel.Workbook.Open("C:\sample.xls")

          For Each tworksheet In myWorkBook.Worksheets
      '        Me.ListBox1.Items.Add (tworksheet.Name)
      Returnstring = tworksheet.Name
      If iindex = Counter1 Then
      Get\_List = Returnstring
      
      End If
      Counter1 = Counter1 + 1
          Next
      

      End Function
      And try to access in vc++.Then i am getting error

      Plz help me

      V L 2 Replies Last reply
      0
      • M MsmVc

        See i don't much about InvokeHelper.I had download a project from Codeproject and make new project with the help of downloaded project.I am sending you a project link which have example code and Dll. Link is here Automating Microsoft Excel and Word Together[^] I am creating a new dll and write a new function.

        Public Function Get_List(SheetNumber As Long) As String
        ' Dim myExcel As Object
        Dim Counter1 As Integer
        Dim Returnstring As String
        Dim myWorkBook As Excel.Workbook
        Dim tworksheet As Excel.Worksheet

        ' myExcel = CreateObject("Excel.Application")
        ' myWorkBook = myExcel.Workbook.Open("C:\sample.xls")

            For Each tworksheet In myWorkBook.Worksheets
        '        Me.ListBox1.Items.Add (tworksheet.Name)
        Returnstring = tworksheet.Name
        If iindex = Counter1 Then
        Get\_List = Returnstring
        
        End If
        Counter1 = Counter1 + 1
            Next
        

        End Function
        And try to access in vc++.Then i am getting error

        Plz help me

        V Offline
        V Offline
        Vi2
        wrote on last edited by
        #8

        Sorry, it requires so much time which I don't have. Try to call the simpler function, for example,

        Public Function Get_List(SheetNumber As Long) As String
        Get_List = "aaa"
        End Function

        With best wishes, Vita

        M 1 Reply Last reply
        0
        • V Vi2

          Sorry, it requires so much time which I don't have. Try to call the simpler function, for example,

          Public Function Get_List(SheetNumber As Long) As String
          Get_List = "aaa"
          End Function

          With best wishes, Vita

          M Offline
          M Offline
          MsmVc
          wrote on last edited by
          #9

          i am doing something wrong.See I add function in Dll

          Public Function Get_List(SheetNumber As Long) As String
          Get_List = "aaa"
          End Function

          And Declaration in m2msofficecom.h file

          VARIANT Get_List(long* number);

          And Define in m2msofficecom.cpp

          VARIANT _clsExcel::Get_List(long* number)
          {
          VARIANT result;
          static BYTE parms[] =
          VTS_PI4;
          InvokeHelper(0x60030002, DISPATCH_METHOD, VT_VARIANT, (void*)&result, parms,
          number);
          return result;
          }

          And Call in MainDlg Class

          _clsExcel objXl;
          long ty=1;
          objXl.Get_List(&ty);

          but still i am getting same error. plz help me.

          V 1 Reply Last reply
          0
          • M MsmVc

            i am doing something wrong.See I add function in Dll

            Public Function Get_List(SheetNumber As Long) As String
            Get_List = "aaa"
            End Function

            And Declaration in m2msofficecom.h file

            VARIANT Get_List(long* number);

            And Define in m2msofficecom.cpp

            VARIANT _clsExcel::Get_List(long* number)
            {
            VARIANT result;
            static BYTE parms[] =
            VTS_PI4;
            InvokeHelper(0x60030002, DISPATCH_METHOD, VT_VARIANT, (void*)&result, parms,
            number);
            return result;
            }

            And Call in MainDlg Class

            _clsExcel objXl;
            long ty=1;
            objXl.Get_List(&ty);

            but still i am getting same error. plz help me.

            V Offline
            V Offline
            Vi2
            wrote on last edited by
            #10

            I can only propose that 0x60030002 is not Get_List function. You can look at DLL by "Ole/COM Viewer" and find the declaration of _clsExcel interface. Can you post the direct reference to your DLL?

            With best wishes, Vita

            M 1 Reply Last reply
            0
            • V Vi2

              I can only propose that 0x60030002 is not Get_List function. You can look at DLL by "Ole/COM Viewer" and find the declaration of _clsExcel interface. Can you post the direct reference to your DLL?

              With best wishes, Vita

              M Offline
              M Offline
              MsmVc
              wrote on last edited by
              #11

              please explain in detail.i am also think about 0x60030002 is not Get_List function.But how can i find it.

              V 1 Reply Last reply
              0
              • M MsmVc

                please explain in detail.i am also think about 0x60030002 is not Get_List function.But how can i find it.

                V Offline
                V Offline
                Vi2
                wrote on last edited by
                #12

                VB creates the DLL, which has a TLB inside. Run the "OLE/COM Viewer" and File -> View TypeLib.... Perhaps there is a MFC Wizard which also can import this TLB into code. But I don't know about it, because I use #import directive in C++ client code.

                With best wishes, Vita

                M 2 Replies Last reply
                0
                • V Vi2

                  VB creates the DLL, which has a TLB inside. Run the "OLE/COM Viewer" and File -> View TypeLib.... Perhaps there is a MFC Wizard which also can import this TLB into code. But I don't know about it, because I use #import directive in C++ client code.

                  With best wishes, Vita

                  M Offline
                  M Offline
                  MsmVc
                  wrote on last edited by
                  #13

                  ok i am trying to do that.

                  1 Reply Last reply
                  0
                  • V Vi2

                    VB creates the DLL, which has a TLB inside. Run the "OLE/COM Viewer" and File -> View TypeLib.... Perhaps there is a MFC Wizard which also can import this TLB into code. But I don't know about it, because I use #import directive in C++ client code.

                    With best wishes, Vita

                    M Offline
                    M Offline
                    MsmVc
                    wrote on last edited by
                    #14

                    Thanks for smart ans.. Problem solved.

                    1 Reply Last reply
                    0
                    • M MsmVc

                      See i don't much about InvokeHelper.I had download a project from Codeproject and make new project with the help of downloaded project.I am sending you a project link which have example code and Dll. Link is here Automating Microsoft Excel and Word Together[^] I am creating a new dll and write a new function.

                      Public Function Get_List(SheetNumber As Long) As String
                      ' Dim myExcel As Object
                      Dim Counter1 As Integer
                      Dim Returnstring As String
                      Dim myWorkBook As Excel.Workbook
                      Dim tworksheet As Excel.Worksheet

                      ' myExcel = CreateObject("Excel.Application")
                      ' myWorkBook = myExcel.Workbook.Open("C:\sample.xls")

                          For Each tworksheet In myWorkBook.Worksheets
                      '        Me.ListBox1.Items.Add (tworksheet.Name)
                      Returnstring = tworksheet.Name
                      If iindex = Counter1 Then
                      Get\_List = Returnstring
                      
                      End If
                      Counter1 = Counter1 + 1
                          Next
                      

                      End Function
                      And try to access in vc++.Then i am getting error

                      Plz help me

                      L Offline
                      L Offline
                      Lost User
                      wrote on last edited by
                      #15

                      :)

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups