Текущий архив: 2011.03.20;
Скачать: CL | DM;
Вниз
Нашел баг в VCL Delphi 2009-го Найти похожие ветки
← →
Дмитрий Белькевич (2009-07-25 00:25) [0]В Dialogs"ах, в методе TPrintDialog.Execute. Забыли структуру PrintDlgRec почистить. Что интересно, 7-ка не подвержена проблеме: FillChar(PrintDlgRec, SizeOf(PrintDlgRec), 0);
В 2009-й нет этой строчки. Какие мысли - как поправить?
В QC не нашел ничего...
← →
KilkennyCat © (2009-07-25 00:35) [1]спасибо. я как раз на днях планировал с печатью заморочиться... буду в курсе.
← →
sniknik © (2009-07-25 00:56) [2]а оно точно там не чистится? ну, если точку отанова поставить и посмотреть, просто в 2009 структура больше на обьект походит, а любой динамический обьект при создании инициализируется.
вообще, привел бы побольше кода, как он объявлен, место "с окрестностями" где он по твоему должен чистится...
2009 не у всех есть...
← →
Дмитрий Белькевич (2009-07-25 01:01) [3]>а оно точно там не чистится?
Точно. С nCopies проблемы - поле не инициализировано.
>просто в 2009 структура больше на обьект походит
Так не динамическая она - обычная локальная запись.
>2009 не у всех есть...
А почти то же самое, как в 7-ке, только без FillChar(PrintDlgRec, SizeOf(PrintDlgRec), 0);.
← →
Игорь Шевченко © (2009-07-25 01:13) [4]
> В QC не нашел ничего...
Отправь, другим будет полезно
← →
sniknik © (2009-07-25 01:25) [5]> Точно. С nCopies проблемы - поле не инициализировано.
а "не инициализировано", это не 0 в нем случаем? тогда как раз наоборот, структура очищена. но нужное значение не введено.
т.е. инициализация структуры (обнуление) и инициализация значениями для обработки разные вещи.
проверь на всякий случайprocedure TForm1.Button1Click(Sender: TObject);
var
PrintDlg: TPrintDlg;
begin
ShowMessage(IntToStr(PrintDlg.lStructSize));
end;
0 дает или "ахинейное" число, не пойми откуда... :)
сам не могу, нет 2009го.
← →
Дмитрий Белькевич (2009-07-25 01:33) [6]>0 дает или "ахинейное" число, не пойми откуда... :)
>сам не могу, нет 2009го.
Проверил, прежде чем писать. Мусор. Проявляется в виде установки в диалоге максимально возможного числа копий.
← →
Германн © (2009-07-25 02:21) [7]
> Дмитрий Белькевич (25.07.09 01:33) [6]
>
> >0 дает или "ахинейное" число, не пойми откуда... :)
> >сам не могу, нет 2009го.
>
> Проверил, прежде чем писать. Мусор. Проявляется в виде установки
> в диалоге максимально возможного числа копий.
>
Значит [4].
← →
Дмитрий Белькевич (2009-07-25 21:54) [8]Вроде как отправил. Как я понял, они сразу всё не сабмитят. Подождём - посмотрим...
← →
TIF © (2009-07-27 16:06) [9]> Дмитрий Белькевич (25.07.09 21:54) [8]
> Вроде как отправил. Как я понял, они сразу всё не сабмитят.
> Подождём - посмотрим...
Ссылка для всех заинтересованных:
http://qc.embarcadero.com/wc/qcmain.aspx?d=76073
"Status: Pending" - думают :)
← →
Дмитрий Белькевич (2009-07-27 22:18) [10]Уже открыли. Посмотрим, как скоро поправят.
Есть еще одна проблема - количество копий не передаётся диалогу при открытии, всё по этой же причине - nCopies не заполняется. Открою, наверно, еще одно исправление, может поправят и это... Хоть и не особенно критично.
← →
TIF © (2009-08-08 03:49) [11]Дмитрий Белькевич, поздравляю :)
В D2010 исправили
← →
Дмитрий Белькевич (2009-08-08 11:28) [12]
> В D2010 исправили
Придётся 2010 покупать :)
← →
Дмитрий Белькевич (2009-08-08 11:32) [13]Чего я в http://delphimaster.net/view/15-1249378793/ и опасался. Ну да кушать всем хочется...
Страницы: 1 вся ветка
Текущий архив: 2011.03.20;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.012 c