How does this solve anything? Maybe your description isn't clear. The problem is that if the decryption key does not come directly from user input every time it is needed, then the plaintext has to be stored somewhere. If that store itself is encrypted, then either the user has to be asked, again, for the password, or the program itself has the password, in which case you have merely moved the cleartext one step away.
This is obvious to anyone familiar with encryption and passwords, and described in the article itself. So either you haven't solved anything, or you haven't been clear.