Mark I suspect that writing a dynamic link library for use with Rebol is likely to be easier than writing an external for Revolution. The Rebol language is evaluated not compiled.
I found writing a dynamic link library with FPC quite straightforward though I encountered two problems which I have been able to overcome. The first could hinder developing complicated externals for Revolution. FPC does not support error handling in dynamic link libraries, so no try/finally etc.. I believe this is due to the difficulty of coming up with a cross-platform implementation. This limitation can probably be overcome through conservative and defensive coding in most cases. In my case, I perform additional validations in the Rebol module that calls the dynamic link library. The second is that there is a conflict between the Mac OS X Snow Leopard linker and FPC. There is a work around but the resulting dynamic link library is not fully stable. I believe this is something to do with initialisation and termination routines. The workaround is to compile the dynamic link library under Mac OS X Leopard. The dynamic link library is very simple but runs successfully on Windows, Ubuntu and Mac OS X. Regards Peter On 8 Jul 2010, at 00:26, Mark Wieder wrote: > Peter- > > Monday, July 5, 2010, 4:59:11 PM, you wrote: > >> Free Pascal. At the moment, I am testing calling a dynamic load >> library written in Free Pascal from Rebol (a language written in C) >> using C calling conventions. > > Keep us posted on your progress - that's a promising start. > > -- > -Mark Wieder > [email protected] > > _______________________________________________ > use-revolution mailing list > [email protected] > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-revolution _______________________________________________ use-revolution mailing list [email protected] Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
