Troy, thank you once again, setting the key to something else solved the problem.
Jari. >From: "Troy A. Griffitts" <[EMAIL PROTECTED]> >Reply-To: SWORD Developers' Collaboration Forum <sword-devel@crosswire.org> >To: SWORD Developers' Collaboration Forum <sword-devel@crosswire.org> >Subject: Re: [sword-devel] How do you select verses from a range? >Date: Sat, 16 Dec 2006 00:36:56 -0700 > >Jari, > Looking at your code again... > > > const char * BibleObject::getVerse(const char *keyStr) > > { > > ListKey result; > > VerseKey parserKey; > > > > result = parserKey.ParseVerseList(keyStr, parserKey, true); > > result.Persist(true); > > > > mBible->SetKey(result); > >this is illegal. You are telling your mBible to hold on to a locally >scoped ListKey result. As soon as this method is complete, result goes >out of scope and your mBible is holding a reference to invalid memory. >You have a couple options to fix this. You can either move result out >to mResult, or else book->setKey("gen.1.1") just before returning, to >tell book to let go of its persistent key just before it goes out of scope. > > Hope this helps, > > -Troy. > > > > > > > > char* returnBuffer = Con::getReturnBuffer(2024); > > *returnBuffer = 0; > > U32 numCharsInBuffer = 0; > > > > for(*mBible = TOP; !mBible->Error(); (*mBible)++) { > > const char *ns = mBible->StripText(); > > U32 strLength = dStrlen(ns); > > if(numCharsInBuffer + strLength >= 2024) { > > // Verse string was too long and was truncated > > break; > > } > > > > dStrcat(returnBuffer,ns); > > numCharsInBuffer += strLength; > > > > } > > > > return returnBuffer; > > } > > > > > > As you can see the result's length is limited. But of course I could and > > should use something like std::string and return that but I just wanted >to > > make this in the right way. > > > > > > > >> Hope this helps. Glad you're making progress. > >> > > > > It sure does! Thanks. > > > > It's alright if I can't get a perfect solution for this now that I do >have a > > code that works. > > > > > > > > > > May God bless you too Troy. > > > > Jari. > > > > > >> Blessings! > >> -Troy. > >> > >> > >> > >> Jari Strand wrote: > >>> Troy, > >>> thank you for the example, I was finally able to test it and it works > >> good. > >>> But I have one problem, you see when I used to select only one verse I > >> could > >>> return the string that was returned from RenderText() or StripText() >but > >> now > >>> that you have to loop in the end in order to get all the strings you > >> can't > >>> just simply return the results from a function. So is there some other > >> way > >>> for this so that I don't have to create a return buffer my self? > >>> Maybe the loop isn't required if you select verse from a one range and > >> not > >>> from two or more like in the example? > >>> > >>> Thanks. > >>> > >>> > >>> Jari. > >>> > >>>> From: "Troy A. Griffitts" <[EMAIL PROTECTED]> > >>>> Reply-To: SWORD Developers' Collaboration Forum > >> <sword-devel@crosswire.org> > >>>> To: SWORD Developers' Collaboration Forum <sword-devel@crosswire.org> > >>>> Subject: Re: [sword-devel] How do you select verses from a range? > >>>> Date: Sun, 10 Dec 2006 13:58:47 -0700 > >>>> > >>>> Jari, > >>>> I've added a new example for you: > >>>> > >>>> > >> >http://crosswire.org/svn/sword/trunk/examples/cmdline/verserangeparse.cpp > >>>> Please let me know if this does not answer your question. > >>>> > >>>> -Troy. > >>>> > >>>> > >>>> > >>>> Jari Strand wrote: > >>>>> Hi, is there example showing how to select verses within a range? i > >>>> think > >>>>> there was some example but I cannot find it anymore. > >>>>> > >>>>> I only know how to select one verse using setKey("Mat 2:10"); > >>>>> > >>>>> Thanks! > >>>>> > >>>>> _________________________________________________________________ > >>>>> FREE pop-up blocking with the new MSN Toolbar - get it now! > >>>>> http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/ > >>>>> > >>>>> > >>>>> _______________________________________________ > >>>>> sword-devel mailing list: sword-devel@crosswire.org > >>>>> http://www.crosswire.org/mailman/listinfo/sword-devel > >>>>> Instructions to unsubscribe/change your settings at above page > >>>> _______________________________________________ > >>>> sword-devel mailing list: sword-devel@crosswire.org > >>>> http://www.crosswire.org/mailman/listinfo/sword-devel > >>>> Instructions to unsubscribe/change your settings at above page > >>> _________________________________________________________________ > >>> Express yourself instantly with MSN Messenger! Download today it's >FREE! > >>> http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ > >>> > >>> > >>> _______________________________________________ > >>> sword-devel mailing list: sword-devel@crosswire.org > >>> http://www.crosswire.org/mailman/listinfo/sword-devel > >>> Instructions to unsubscribe/change your settings at above page > >> > >> _______________________________________________ > >> sword-devel mailing list: sword-devel@crosswire.org > >> http://www.crosswire.org/mailman/listinfo/sword-devel > >> Instructions to unsubscribe/change your settings at above page > > > > _________________________________________________________________ > > Express yourself instantly with MSN Messenger! Download today it's FREE! > > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ > > > > > > _______________________________________________ > > sword-devel mailing list: sword-devel@crosswire.org > > http://www.crosswire.org/mailman/listinfo/sword-devel > > Instructions to unsubscribe/change your settings at above page > > >_______________________________________________ >sword-devel mailing list: sword-devel@crosswire.org >http://www.crosswire.org/mailman/listinfo/sword-devel >Instructions to unsubscribe/change your settings at above page _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ _______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page