Outsourcing / Writing dll's for Revolution...
tuviah at runrev.com
Tue Oct 28 01:53:20 EST 2003
>We've had great success with RentACoder.com ; the 'ebay' of the coding
Yes I too have had success with them. I find it important to work on the
design first, and do the necessary research (for example I may research any
related technical issues, design a class, and ask them to implement the
methods) beforehand so things can be integrated into my project. Being a
knowledgable consumer always helps, test frequently and ask for source, and
you want to make sure that you work *with them* to make the right decisions
regarding your technology choices (because they will always choose what is
fastest and cheapest).
>How do I pass parameters and receive 'it' or
>'the result'? What do I instruct the outsourcers to build?
Tell them to build general DLLs (in C/C++) that accomplish whatever specific
task. You should work with them to define the API for the DLL.
Then you need to build one external to talk to them all.
In most cases what you need to do is link with the DLLs .lib file, and
include the source headers (mydll.h) in your project which just defines stub
functions for the linker. After that you can call functions in DLLs as
though they were in your app. So for example if I had a dll with the
function helloworld which prints something to the screen, I would write
void revHelloWorld(char *args, int nargs, char **retstring,
Bool *pass, Bool *error)
*pass = False;
*error = False;
result = NULL;
if (nargs == 1)
helloworld(args); //call function in DLL and pass
*error = True;
*retstring = result != NULL ? result: (char *)calloc(1,0);
and then link to library helloworld.lib and make sure that the
helloworld.dll file is somewhere where the Rev external can find it. Also
note that the October issue of MacTech has a great article by Tim Monroe
which covers developing an external for editing QT movies, so hopefully that
will be online shortly.
Tuviah Snyder <tuviah at runrev.com> <http://www.runrev.com/>
Runtime Revolution Limited - Software at the Speed of Thought
More information about the Use-livecode