|  15.06.2010, 15:10 | #1 | 
| Участник | Баг в классе SysPDFFontType2 (формирование PDF) 
			
			AX 2009 5.0.1500.1313 Столкнулся с тем, что один из отчетов отказывался печататься в pdf-файл, выдавая ошибку "Attempting to read illegal array index." в методе getCMap класса SysPDFFontType2. В строке "widthsC.value(charIdx, any2int(( cValue*72 + (pixPerInchX>>1))/ pixPerInchX))" charIdx был равен 0. Для решения проблемы необходимо заменить строку X++:             if (res != 0xFFFFFFFF)X++:             if (res != -1)Вообще интересно, что следующие строки выдают разный результат: X++: info(strfmt("%1", hex2int("FFFFFFFF"))); // -1 info(strfmt("%1", 0xFFFFFFFF)); // 4294967295 | 
|  | 
|  15.06.2010, 15:15 | #2 | 
| Модератор | 
			
			Хе-хе. А не есть ли число 4294967295 предельным для 32 разрядного int?   С Уважением, Георгий | 
|  | 
|  15.06.2010, 15:55 | #3 | 
| Участник | 
			
			поменяйте типы в методе hex2int() с int на int64, или создайте новый метод hex2int64()
		 | 
|  | 
|  15.06.2010, 16:13 | #4 | 
| Участник | |
|  | 
|  15.06.2010, 16:19 | #5 | 
| Участник | |
|  | 
|  15.06.2010, 16:26 | #6 | 
| Участник | |
|  | 
|  15.06.2010, 17:49 | #7 | 
| Участник | |
|  | 
| Теги | 
| bug, pdf, баг, ошибка | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| create Pdf invoice report | 1 | |||
| Баг в системном классе SysOperationProgressBase. | 0 | |||
| Баг (?) в классе LedgerBalanceDim | 3 | |||
| C# and AX Development: Printing directly to PDF in AX | 0 | |||
| 
 |