| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > ГЛЮКИ delphi10 на примере функции EnumChildWindows |
| Автор: bikovrm 3.11.2018, 15:56 |
| ГЛЮКИ delphi 10.2 на примере функции EnumChildWindows 1) самое важное (для меня) Может кто ответит - почему в delphi 7 функция EnumChildWindows нормально работает, а в delphi 10.2 - глючит. В большом проекте где то работает, а где то нет. При том что начинаю, в месте где всё норм, дописывать доп. строки, а они тупо игнорируются. Специально проверял на разных машинах, создавал новый проект и т. д.. Пример (на https://drive.google.com/open?id=16_kuSUrC6T8Ilm1pVABYKNfedmRhI22Z и https://drive.google.com/open?id=1Kv4aotXpC20Uxq8N6jBJtx9EKA-a3wEg) глюка (в D10 читает только первый объект): 2) глюк с переменными Опять же, в большом проекте, объявляю новые глобальные переменные, а на меня начинают сыпаться ошибки, при том в других местах. Удаляю их, или переставляю выше - ниже (по феншую |
| Автор: kami 11.3.2019, 20:42 | ||
| Потому что в данном случае глюки не у Delphi. 1. Char в D7 = AnsiChar, в D2009 и выше - WideChar. Использовать SizeOf вполне возможно некорректно. 2. Не обращать внимания на хинты и ворнинги, выдаваемые компилятором тоже некорректно, а местами чревато боком. В частности, компилятор предупреждает, что результирующее значение функции EnumChild не определено. А по спецификации MSDN - должно быть определено. Выводы предлагаю сделать самостоятельно.
Даже не упоминая о том, что ошибка в 17 строке - глобальные переменные это зло. Но включив телепатор могу предсказать, что имена новых глобальных переменных совпали с именами каких-либо модулей, классов или функций. |