Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
15-1291290387
Andy BitOff
2010-12-02 14:46
2011.03.20
DMClient и D2010


15-1290453194
ProgRAMmer Dimonych
2010-11-22 22:13
2011.03.20
Книга по ADO для не совсем чайника


2-1293407915
Тимоха111
2010-12-27 02:58
2011.03.20
динамический pagecontol и событие к нему


4-1246533531
ruben
2009-07-02 15:18
2011.03.20
Не вызываются события при работе с tapi


15-1291296907
TP
2010-12-02 16:35
2011.03.20
Turbo Pascl & реестр