Announcement

Collapse
No announcement yet.

XLL vs DLL vs AddIn

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

  • XLL vs DLL vs AddIn

    I would like to write PB functions that can be used inside of excel cells.
    =MyAverage(A3:A2003) for example would use my PB code to calculate an average

    The reason to use PB rather than VBA would be speed. This function would be copied down into 2000 cells, for example, and perhaps work with list of numbers 2000 numbers long. When I attempt these things in VBA, time stops when I do a recalculate.

    I want to do the minimum work required, as I actually don't program windows for a living. This is a means to an end, not an end itself.

    I have PBWin8 and Excel 2003.

    Can anybody explain why I would use an XLL or an AddIn vs a DLL. Can I get the functionality I require using a DLL. Is there a HELLO WORLD example of a PBB DLL in Excel that you can point me to, preferably fairly recent, as I know there's a Windows95 one kicking around somewhere, but it seems outdated.

    Thanks for your help.

  • #2
    I don't think that solves your problem.

    I have seen an example where based on a cell's reference the cell's next to it and under it where populated in one pass.
    This may be the fastest to set a table of data.
    hellobasic

    Comment


    • #3
      >Can I get the functionality I require using a DLL

      Yes. See CALL function in your Excel 'formula' documentation.

      But Excel does averages by formula natively; there's no need to use VB code. See the AVERAGE function.

      There's also gotta be an Excel newsgroup with info on this in its archives if you want to do something a bit more complex.

      MCM
      Michael Mattias
      Tal Systems (retired)
      Port Washington WI USA
      [email protected]
      http://www.talsystems.com

      Comment


      • #4
        >as I know there's a Windows95 one kicking around somewhere, but it seems outdated.

        That would be a decent starting point. Nothing vis-a-vis the way compiler generates "DLL" files has changed since with either new O/S or new versions of the compiler.
        Michael Mattias
        Tal Systems (retired)
        Port Washington WI USA
        [email protected]
        http://www.talsystems.com

        Comment


        • #5
          OK, so to your knowledge, the PB community has only the one "hello world" excel dll example from 1998. That's fine. I'm just surprised.

          I also surmise from your comment, that XLL is not necessary. I'd still be interested in somebody explaining in detail why one would use dll vs xll vx addin.

          Finally, I realize that excel does averages. In my desire to make things more clear, I ended up obfuscating them. I suppose I should have said =foo(A3:A2003) instead of =MyAverage. I was trying to convey that this would be a non-trivial function that would use lots of memory.

          Does anybody have experience using PB functions on large datasets in excel, and can they offer any pointers.

          Thanks again for your help.

          Comment


          • #6
            Maybe this site can help?

            Excel Help and Support from Excel Experts( MVPs). Excel2003,Excel 2007, Excel 2010 What's New in Excel and Excel Tips and Tutorials.
            Warped by the rain, Driven by the snow...

            jimatluv2rescue.com

            Comment


            • #7
              The MS-Excel help screens stink, but all the info is there and it looks really, really straightforward. It can't be that hard to "give it a try."

              Can it?
              Michael Mattias
              Tal Systems (retired)
              Port Washington WI USA
              [email protected]
              http://www.talsystems.com

              Comment


              • #8
                Originally posted by Michael Mattias View Post
                The MS-Excel help screens stink, but all the info is there and it looks really, really straightforward. It can't be that hard to "give it a try."

                Can it?
                I just noticed. Wow! 22,783 Posts! How is it possible for somebody to post 22,783 well thought out, informative, and insightful posts that add signal rather than noise to the forum?

                Thanks to all the folks for all the replies I received via email. You provided the assistance that I required. Perhaps I'll condense it into a forum post at some point to add more signal here.

                Comment


                • #9
                  How is it possible for somebody to post 22,783 well thought out, informative, and insightful posts that add signal rather than noise to the forum?
                  I avoid Kryptonite.
                  Michael Mattias
                  Tal Systems (retired)
                  Port Washington WI USA
                  [email protected]
                  http://www.talsystems.com

                  Comment


                  • #10
                    Xll vs. DLL

                    I have done it both ways, that is using a VBA to talk to a Dll and just a plain Xll.

                    The trouble if you can call it that, is using a dll you have access the function through Excels VBA, adds overhead. Also you have to remember how to pass and what to pass the function.

                    Using a XLL you can give your users some information as what to pass the function, that is it shows up like anyother Excel function.

                    I also, have used custom functions on very large datasets with great results.

                    If you search the Powerbasic forums you will find examples.

                    Blair,

                    Comment

                    Working...
                    X