Announcement

Collapse
No announcement yet.

One Small Wish

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • One Small Wish

    Heaven forbid a new wish list starts up but...

    Please increase the number of arguments a function can have.

    Trying to register functions with the Excel API means I
    can't have the help prompts that I want because I only
    have 15 arguments for a call.

    Please, please, please. Otherwise I will have to dust
    off my C compiler.

    Regards

    Andrew

    ------------------
    --------------
    andrew dot lindsay at westnet dot com dot au

  • #2
    The 16-parameter limit can be "worked around"... simply push the parameters onto the stack before calling the DLL. This approach needs some care to be taken, but it can be done this way.


    ------------------
    Lance
    PowerBASIC Support
    mailto:[email protected][email protected]</A>
    Lance
    mailto:[email protected]

    Comment


    • #3
      Originally posted by Lance Edmonds:
      The 16-parameter limit can be "worked around"... simply push the parameters onto the stack before calling the DLL. This approach needs some care to be taken, but it can be done this way.


      Lance,

      Could you give an example of this?

      Regards

      Andrew



      ------------------
      --------------
      andrew dot lindsay at westnet dot com dot au

      Comment


      • #4
        Can the additoinal parameters be passed in an UDT?

        Cecil

        ------------------

        Comment


        • #5
          I don't have any example code handy, but I think this was discussed on the BBS before... Has anyone else here used this technique?

          Dave Navarro may have something in his collection of snippets... Dave are you lurking?

          ------------------
          Lance
          PowerBASIC Support
          mailto:[email protected][email protected]</A>
          Lance
          mailto:[email protected]

          Comment


          • #6
            I believe my array descriptor code did this...

            Yep:

            luBound = 0
            ! PUSH luBound
            ! PUSH pArray
            ! CALL CDW
            ! MOV RetVal, EAX



            ------------------
            [email protected]
            hellobasic

            Comment


            • #7
              Originally posted by Edwin Knoppert:
              I believe my array descriptor code did this...

              Yep:

              luBound = 0
              ! PUSH luBound
              ! PUSH pArray
              ! CALL CDW
              ! MOV RetVal, EAX
              Edwin,

              Could you please point me towards the full code listing here -
              The dreaded flu has struck me down, and I am not thinking
              straight enough to work it out for myself.

              Many Thanks

              Andrew Lindsay


              ------------------
              --------------
              andrew dot lindsay at westnet dot com dot au

              Comment

              Working...
              X