FastReport - закрытие DataSet после печати

Сергей из Самары
Дата: 12.05.2011 14:47:02
Делаю следующее:
ImgPrint.DataSet:= DBM.Kontrakt;
    frxReport.LoadFromFile('r:\kontrkts\PrintImg.fr3',true);
    DBm.Kontrakt.First;
      frxReport.PrepareReport(true);
      frxReport.PrintOptions.ShowDialog := false;
      frxReport.Print;
После выполнения команды: frxReport.Print dataSet DBM.Kontrakt закрывается. Как сделать, чтобы dataSet после печати оставался открытым?
phoenix323F
Дата: 13.05.2011 15:35:22
Не должен DataSet сам закрываться. Видимо, где-то вы его сами закрываете по
DBm.Kontrakt.Close;
.
Сергей из Самары
Дата: 13.05.2011 16:46:51
Нет. Более того, DataSet Kontrakt - это деталь. После печати закрывается и DataSet master и деталь, хотя первый вообще в печати не участвует. FastReport привязан к датасету непосредственно детали.
Сергей из Самары
Дата: 13.05.2011 16:48:10
Причем если я вызываю не метод Print, а ShowReport, то никаких проблем не возникает. И показывается страница и печатается и после печати датасет не закрывается.
Кроик Семён
Дата: 13.05.2011 16:53:50
Сергей из Самары,

У DataSet'a в событии BeforeClose( или AfterClose, без разницы) напиши что-нибудь, например sleep(1), и поставь на нем Breakpoint [F5].
Когда выполнение остановится на этой точке, посмотри в Menue-->View-->DebugWindos-->Call Stack [Ctrl+Alt+S], откуда произошело закрытие.
Ramin Hashimzade
Дата: 13.05.2011 17:03:01
frxDBDataset св-ва CloseDataSource у тебя стоит труе, поэтому.
Сергей из Самары
Дата: 13.05.2011 18:18:39
Кроик Семён,

Спасибо за совет. Нашел причину.