私は、ページが実際に表示される前と後に、ShouldSkipPage
がページごとに2回呼び出されていることに気付きました。ShouldSkipPageはページごとに2回呼び出されます
function ShouldSkipPage(PageID: Integer): Boolean;
begin
if PageID = wpSelectDir then
Log('ShouldSkipPage for SelectDir was called');
Result := false;
end;
あなたは二回ログに記録されたメッセージが表示されます(コンパイラでスクリプトを実行することで、ページが表示された後の第2のコールが発生したことを、見ることができます):あなたは簡単に、単純に関数にLog
を追加することによって、これを確認することができます。
誰かがなぜページが表示された後に2回目に呼ばれたのか説明できますか?これは意味をなさないものであり、混乱させ、インストーラロジックの予期しない逸脱につながる可能性もあります。
また、2番目の呼び出しを防止する方法はありますか?
ああ、そう、それは「スキップ」をカウントするだけでなく、「私はこのページを訪問するべきである」としてではなく私はこのページを離れるべきですか?さて、今、それは感謝します、ありがとう。 – lentinant
いいえ、どちらのシナリオでも「スキップ」を意味します。それは変化する唯一の方向性です。 「次へ」を押すと、進むべきページが見つかるまで「ShouldSkipPage」を呼び出します。選択したページに切り替わります。また、「戻る」を表示するかどうかを決定するために、戻るページが見つかるまで「ShouldSkipPage」を呼び出します。 「次へ」ボタンについても同じことが行われません。なぜなら、どこに進むべきか(ページの「インストール」またはインストーラの終了/終了)がいつもあるからです。 「次へ/インストール/完了」ボタンは常に表示されます。 –