Hi David,
The weirdness you might be running into is the behavior that SWLex
modules 'snap' their key to the nearest entry upon renderText (or
stripText, as you are calling).
I know this doesn't seem completely intuitive, but I would try calling
stripText BEFORE calling getKeyText(). I wouldn't recommend using
setPersist. This will force the module to use the same external key and
let you manage cleaning up that key memory when you are finished, rather
than letting the module manage its own internal key.
I hope this helps.
Troy
On 3/26/24 10:01, David "Judah's Shadow" Blue wrote:
On Monday, March 25, 2024 4:06:19 PM EDT David "Judah's Shadow" Blue wrote:
On Monday, March 25, 2024 1:52:40 PM EDT David "Judah's Shadow" Blue wrote:
I've noticed a problem with lexicons not always getting a value from
getKeyText(). It's intermittent, and I can't quite nail down why I would
be
getting empty strings when I call it sometimes.
Investigating further, it appears to happen on the first usage of
getKeyText() but only for lexicon based modules, bibles and commentaries
show keytext correctly.
In further weirdness, I sometimes get what I have entered previously as the
key. Here's an example function I use to retrieve a lexicon entry.
std::string Lexicon::getEntry(std::string entry) {
std::string lexEntry;
sword::SWModule *module;
std::transform(entry.begin(), entry.end(), entry.begin(),
[](unsigned char c) {return std::toupper(c);});
module = this->swordLibrary->getModule(this->lexiDict.c_str());
module->setKeyText(entry.c_str());
lexEntry = module->getKeyText();
lexEntry += " ";
lexEntry += module->stripText();
return lexEntry;
}
I am uncertain what I could be doing wrong here.
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page