[sword-devel] Best way to interate through each key in a module

Troy A. Griffitts scribe at crosswire.org
Tue Feb 23 18:17:57 EST 2021


So, in your first example, you are attempting to assign the module
pointer to TOP and increment the module pointer, instead of the module. 
You could change that for loop to this and it should work:

for ((*module) = sword::TOP; !module->popError(); (*module)++) {

...

}

On 2/23/21 2:53 PM, David "Judah's Shadow" Blue wrote:
> On Tuesday, February 23, 2021 1:47:27 PM EST Greg Hellings wrote:
>> I think you need to do something like
>>
>> sword::SWKey* key = module->getKey(); // or module->createKey(); if you
>> rather
>> for(key = sword::TOP
>>
>> At least, I think that's what it needs...
> A variant of that worked. But now I'm not getting any data from the module.
> I've got
>
>     sword::SWKey *moduleKey;
>     sword::SWModule *module;
>
>     module = this->swordLibrary.getModule(this->selectedModule.c_str());
>     moduleKey = module->createKey();
>
>     for(moduleKey->setPosition(sword::TOP);
>         !moduleKey->popError(); moduleKey++) {
>         module->setKey(moduleKey);
>         std::cout << module->getName();
>         std::cout << module->getKeyText();
>         std::cout << module->stripText();
>     }
>
> But I get no output.
>
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page


More information about the sword-devel mailing list