[sword-devel] DLLs, RAD, and Others

Troy A. Griffitts sword-devel@crosswire.org
Fri, 11 Jul 2003 13:15:28 -0700


Daniel and Others,
	A few comments... We do, in fact release many things that allow other 
people to use the sword library in tools other than a C++ environment. 
You will find a flat api of the sword engine in bindings/flatapi.cpp. 
The DLLs that have been released in the past export these functions (or 
some previous incarnation of the flatapi concept).  Using this api (if 
they can't use the OO api) we have CORBA bindings, CLX bindings, and 
SWIG bindings which give us everything from Perl to Python.  There also 
is an unmaintained ActiveX component called ActiveDiatheke, if anyone 
wishes to 'own' that project.

	Your suggestion to suffix the name of the DLL is valuable.  If we 
actually had any Windows projects using it, I'm sure we would have 
eventually had to do something like this.

	Now, my advice: learn a real RAD tool like Borland C++Builder, so when 
Windoze phases out in a year or two, you can use your skills on linux 
with Kylix ;)

	-Troy.



Daniel Blake wrote:
> Sorry it took so long for me to reply but I've been busy and I wanted to
> double-check my facts before I wrote back.
> 
> There is, in fact, a DLL that was created. It is version 1.5.4a . I was sure
> that I had downloaded one from the site before so I searched my server and
> found this file: sworddll-1.5.4a.zip
> 
> As to the concern of not maintaining backwards compatibility I would suggest
> a naming scheme for the DLL that had the version in the name
> "sword154a.dll", as an example. This way anyone writing a program would
> specify which DLL their program was written for. With this naming
> convention, having multiple DLLs on the same machine wouldn't cause any
> problems of compatibility and it wouldn't be much of a burden to people's
> storage space either.
> 
> I want to preface my next thought with saying I am not trying to start a
> flame or sound know it all-ish. Keeping this in mind, I want to remind the
> people of this list what The Sword Projects MAIN purpose is: Here is the
> quote from the website.
> 
> The SWORD Project is the CrossWire Bible Society's free Bible software
> project. Its purpose is to create cross-platform open-source tools, covered
> by the GNU General Public License, that allow programmers and Bible
> societies to write new Bible software more quickly and easily. Its secondary
> purpose is to amass a library of Bibles and other Scripture-related texts
> that can be used by all SWORD Project-based software.
> 
> Our Statement of Purpose says that our first purpose is to create The Sword
> Project for quick and easy software development. Couldn't quick and easy be
> interpreted as Rapid Application Development (RAD)?  The Statement of
> Purpose says our SECONDARY purpose is to amass a library of modules for use
> with the Sword Engine.
> 
> As someone who is just learning to program my main contribution to this
> project is first prayer and second testing and suggestions. It is not my
> intention to step on toes or to preach, but if creating RAD Tools is the
> main purpose of this project then I don't see how we could stay away from
> creating DLLs or OCXs.
> 
> I would just ask that we do an inventory of ourselves as a project to see if
> we are keeping the balance of what was originally intended.
> 
> 1) Create the tools.
> 2) Amass/create the libraries.
> 
> Thank you for taking the time to read this long and opinionated post.
> Please see that my heart is to see the project go far and not to cause
> division.
> 
> Daniel Blake
> 
> 
> 
>>Since we don't maintain any compatability between library releases, this
>>is a bad idea.  If we start releasing sword.dll's, everything will break
>>between versions.
>>
>>Besides which, no Sword DLL exists, it would be a lot of work to create
>>& document one that works, etc.
>>
>>If you or someone else really feels like working on this project, we can
>>consider it for inclusion with 1.5.7.
>>
>>--Chris
>>
>>>
>>>I suggest that before you release, please make a Sword
>>>Dynamic Link Library and distribute it, so that others can
>>>use it in VB, VC and Delphi.
>>>
>>>Paul
> 
> 
> _______________________________________________
> sword-devel mailing list
> sword-devel@crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel