Compile error: Polymorphic External slot is not possible.

Jeremy Cowgar jeremy at cowgar.com
Tue Aug 25 17:42:18 UTC 2009


I am sorry for so many questions today, but I have been venturing into
some new territory with Lisaac. I have one more... When I use this
method more than once, I get a compilation error:

Polymorphic External slot is not possible.
Line 20 column 29 in BUTTON(C:/Development/Projects/Lisaac/libraries/iup-binding/button.li):
  - perform_action h:POINTER :INTEGER <-

I have committed my code into the Git repo, the file in question can be
viewed online at:

http://git.debian.org/?p=lisaac/libraries/iup-binding.git/.git;a=blob_plain;f=button.li;hb=6b17e7dfb7b053aade730acd8f5fd86a5ca41d05

Now, to see how this is used, you can view the example program:

http://git.debian.org/?p=lisaac/libraries/iup-binding.git/.git;a=blob_plain;f=example.li;hb=6b17e7dfb7b053aade730acd8f5fd86a5ca41d05

If you comment out the line starting with "goodbye.set_action {" then
the example program compiles and runs fine. However, uncomment that line
and you get the above compile error.

How do I solve this problem? I believe this is happening because Lisaac
thinks that I call "perform_action" inside of the "BUTTON.set_action"
slot. I actually do not. The only reason for the #if 0 ... block of code
is so that Lisaac will actually output my External slot, "perform_action".
Without calling "perform_action" somewhere in my code, the
"perform_action" slot is optimized out of existence.

Thanks for any help!

-- 
Jeremy Cowgar <jeremy at cowgar.com>




More information about the Lisaac-devel mailing list