On Mon, 2002-01-14 at 12:50, Troy A. Griffitts wrote: > There is a new 'bindings' subdirectory with a helper flatapi.cpp that > exports a flat extern "C" interface the to SWORD API (or some of it, at > least for now). > Troy, I'm getting this error
flatapi.cpp: In function `long int SWMgr_getModulesIterator (long int)': flatapi.cpp:53: warning: ISO C++ forbids declaration of `ModItType' with no type > In bindings/clx you will find Kylix / CLX bindings to the SWORD API. > > There is a test program under bindings/clx/test1 if anyone would like to > see how to use it. > > * FINALLY: THERE IS A BINARY that I would love to hear the outcome, if > you try it on your linux box. Please report on what distro you are > experimenting. The tarball contains the Qt version that Kylix wants. > Please, also let me know if your default Qt lib worked or if you needed > the one in the tarball. I'll paste the code for this program at the end > of this message so you can get an idea of how the clx sword components > work. > > * WARNING: The libsword.so that is shipped with the tarball MUST BE USED > over any older libsword.so. I just realized IT WAS BUILT WITH NEW > DEFAULT ./configure OPTIONS WHICH MEANS IT IS LOOKING FOR sword.conf in > /usr/local/etc/sword.conf Please adjust. Thanks again! > > Usual place: > > http://www.crosswire.org/sword/ALPHAcckswwlkrfre22034820285912/alpha/ > > file: clxSWORD.tar.gz > > > > > [KJV][Ephesians 5:2] And walk in love, as Christ also hath loved us, and > hath given himself for us an offering and a sacrifice to God for a > sweetsmelling savour. > > Goodnight! > -Troy. > > > ______________________________________ > MainForm.pas: > > unit MainFrm; > > interface > > uses > SysUtils, Types, Classes, Variants, QGraphics, QControls, QForms, > QDialogs, > QStdCtrls, QComCtrls, QExtCtrls, Sword; > > type > TForm1 = class(TForm) > Panel1: TPanel; > Panel2: TPanel; > Panel3: TPanel; > TreeView1: TTreeView; > Button1: TButton; > Edit1: TEdit; > Label1: TLabel; > TextBrowser1: TTextBrowser; > procedure Edit1Change(Sender: TObject); > procedure TreeView1Change(Sender: TObject; Node: TTreeNode); > procedure Button1Click(Sender: TObject); > procedure FormCreate(Sender: TObject); > procedure FormShow(Sender: TObject); > private > procedure lookup(); > public > { Public declarations } > end; > > var > Form1: TForm1; > mgr : SWMgr; > > implementation > > {$R *.xfm} > > procedure TForm1.Edit1Change(Sender: TObject); > begin > lookup(); > end; > > procedure TForm1.lookup(); > var > module : SWModule; > node : TTreeNode; > > begin > node := TreeView1.Selected; > if (node <> nil) then > begin > module := mgr.getModuleByName(node.Text); > if (module <> nil) then > begin > module.setKeyText(Edit1.Text); > > TextBrowser1.Text := > '<HTML><BODY>' + > '<small><b>' + module.getKeyText() + '<b></small> ' + > module.getRenderText() + > '</BODY></HTML>'; > > Label1.Caption := ': ' + module.getKeyText(); > end; > end; > end; > > procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode); > begin > lookup(); > end; > > procedure TForm1.Button1Click(Sender: TObject); > begin > Application.Terminate; > end; > > procedure TForm1.FormCreate(Sender: TObject); > begin > mgr := SWMgr.Create; > end; > > procedure TForm1.FormShow(Sender: TObject); > var > root, node : TTreeNode; > module : SWModule; > modIt : ModIterator; > found : Boolean; > > begin > modIt := mgr.getModulesIterator; > module := modIt.getValue; > while (module <> nil) do > begin > node := TreeView1.Items.GetFirstNode; > found := false; > while ((node <> nil) AND (NOT found)) do > begin > if (node.Text = module.getType) then > found := true > else node := node.getNextSibling; > end; > if (node = nil) then > node := TreeView1.Items.AddChild(TreeView1.TopItem, > module.GetType()); > > TreeView1.Items.AddChild(node, module.GetName()); > > modIt.Next; > module := modIt.getValue; > end; > end; > > end. > -- Terry Rev 1:5 "...Unto him that loved us, and washed us from our sins in his own blood." <http://gnomesword.sourceforge.net>
