When the OP edited the solution into the question instead of answering:
Here is what I suggest and what has worked out for me before:
- Leave a comment about it, and suggest he posts the answer part as an answer. Something like:
Hi, it's great that you solved your issue! Please consider posting it as an answer and accepting it. This way, it would be clear to other people facing the same issue that this question has an answer. Thanks!
A surprisingly large amount of people are willing to cooperate here. If the answer itself is good I tend to upvote it which assures OP that it was the right thing to do. If OP asks for clarification - you can link him to relevant pages on Meta, depending on what he's asking.
If OP does not respond within two (2) days. You edit his solution out of his question and post it as a Community Wiki answer. This is not a perfect solution but helps users who run into the question. Be sure to attribute the solution to OP.
If OP responds some time later, offer to delete the community wiki answer, and suggest that he posts it himself.
When the OP edited the solution into the question in addition to accepting:
Leave a short, informative comment about how people can tell what he ended up doing by seeing the accepted answers. Explain that it appears first. Refer OP to relevant meta post depending on context.
If OP does not respond within a day or two, edit the answer out of the question.
What could be done at the system level
Looking at the comments on the question you can see that Chris suggested that OP posts his answer. OP tried to and was prompted with:
Oops! Your answer couldn't be submitted because: Users with less than 100 reputation can't answer their own question for 8 hours after asking. You may self-answer in 7 hours. Until then please use comments, or edit your question instead
A user reading this might understand: "You should edit your question instead of posting a self-answer". I think better phrasing is needed.
I'm not sure if that's still the current phrasing, though, given that the question is old.