Up till then we had not had a chance to visit the museum though we had hoped to do so for many years.
这两空都要用过去完成时;第一空中的Up till then 表示“直到过去的某一时刻之前”如果把Up till then 改成Up till now这句话就要用现在完成时.
第二空中的had hoped 从意义上判断要早于had not had a chance因此也要用过去完成时.
过去完成时用来表示“过去的过去”所发生的动作.