TSaveDialog
отлично справляется с несколькими разделами.Ваша проблема связана с чем-то другим.
С учетом вышесказанного вам вовсе не следует полагаться на GetCurrentDir()
, поскольку он динамически изменяется в течение жизни вашего приложения, поэтому вы никогда не можете быть уверены, гдена самом деле это указывает на любой момент.В любом случае, это само по себе не приведет к сбою TSaveDialog
.
TSaveDialog
использует GetSaveFileName()
для внутреннего использования, поэтому, если это не удается, попробуйте вызвать CommDlgExtendedError()
чтобы узнать почему.