[Haskell-cafe] FFI and Excel VBA

Lennart Augustsson lennart at augustsson.net
Sat Jun 23 05:54:45 EDT 2007


There is a number of problems, I'm not sure which one you are encountering.
Here are some that I remember:

The sample C code doesn't shut down the ghc runtime properly when the  DLL
is unloaded.  This causes  a timer interrupt to jump into the void.  This is
easily fixed with a couple of more lines of C.

The ghc runtime installs handlers for various things that it shouldn't touch
when used as a DLL.

  -- Lennart

On 6/19/07, Lewis-Sandy, Darrell <darrelll at amgen.com> wrote:
>
>  I am new to using the Haskell FFI, and have been trying to implement the
> example in section 11.6 of the GHC user's guide.
>
>
>
> I have finally gotten to the point where my dll compiles (there is a
> missing space in the mainDll.h code at line 4:12) using GHC 6.6.1, and
> used the declare statement to expose the "adder" function in Excel VBA.  My
> VBA Code is given below:
>
>
>
> Private Declare Function adder Lib " adder.dll" Alias "adder at 8" (ByVal x
> As Integer, ByVal y As Integer) As Integer
>
>
>
> Private Sub test()
>
> Debug.Print adder(1, 2)
>
> End Sub
>
>
>
>
>
>
>
> *My problem is this:*
>
> The function works fine (the immediate window displays 3), but when I
> terminate Excel, I get an application error ("The instruction at …
> referenced memory at … . The memory could not be read.").  Does anyone else
> have any experience calling Haskell from VBA that might be relevant?
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20070623/ec68557f/attachment.htm


More information about the Haskell-Cafe mailing list