Поиск сообщества
Показаны результаты для тегов 'Компилятор'.
Найдено: 2 результата
-
Уже несколько раз в ХЕ8 сталкиваюсь с проблемой. Наконец созрел спросить. Имею вот такой код : procedure LoadGroups; begin for i := 1 to Groups.Count do begin if Assigned(OnGroup) then TThread.Synchronize(nil, procedure begin OnGroup(Self, Groups, Groups.Item[i]); end); for j := 1 to Groups.Item[i].Users.Count do if Assigned(OnGroupUser) then TThread.Synchronize(nil, procedure begin OnGroupUser(Self, Groups.Item[i], Groups.Item[i].Users.Item[j]); end); end; end; При компиляции получается вот такая ошибка: [dcc32 Fatal Error] Engine.pas(159): F2084 Internal Error: URW1175 Что это за загадочная ошибка URW1175? Компилятор не может переварить сложную конструкцию? Возникает она из-за TThread.Synchronize. Если эту конструкцию убрать - все нормально компилируется. Так же ошибка исчезает если закоментировать цикл. UPD: нашел как обойти проблему. Оказывается компилятор почему то не может переварить цикл for. Что бы он не ругался, достаточно заменить цикл на while. for i := 1 to Groups.Count do на i := 1; while (i <> LSkype.Groups.Count) do После этого загадочная ошибка исчезает, и проект нормально компилируется. UPD2: оказывается это уже известный баг, но я об этом не знал http://qc.embarcadero.com/Wc/qcmain.aspx?d=131319
-
Возможно ли использовать лямбда-выражения в C++ Builder XE7? Если да, то как?