Lazarus 1.6.4 и библиотеки ВербаOW
Модератор: Модераторы
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
gvido, скорее всего, при подключении манифеста подключается другой режим взаимодействия, возможно даже другой набор библиотек, которые не совместимы с некоторыми библиотеками под winAPI.
Была такая мысль. Но как проверить? Как понять, что цепляется? Баг ли это IDE,FPC или фитча?
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
gvido, либо посмотреть асм листинги, либо распотрошить компилятор/Лазарус и посмотреть что и где от подключает.
А может, кто в багтрекер напишет, кто с разработчиками на связи? Есть такие?
Проблема то явно не в dll. Манифест же отвечает за "касивости" GUI, при чем тут работа dll то?
Хотя в ней есть несколько оконных функций отвечающих за инициализацию ДСЧ.
Проблема то явно не в dll. Манифест же отвечает за "касивости" GUI, при чем тут работа dll то?
Хотя в ней есть несколько оконных функций отвечающих за инициализацию ДСЧ.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
gvido писал(а): Манифест же отвечает за "касивости" GUI, при чем тут работа dll то?
На самом деле, эти "красивости" это куча гуано и палок, встроенная в систему. Возможно, придется чуть подправить манифест.
gvido писал(а):что за хрень творится!?!?!?
Полагаю, что когда: включено - подгружается какая-то НОВАЯ системная DLL и какая-то новая функция из неё и ВербаOW обращается к новой одноимённой функции, вместо старой, а это ведёт к сбою. А когда выключено, то подгружается одноимённая функция из старой DLL и соответственно ВербаOW - работает с той функцией, на которую рассчитана.
PS:
.
vitaly_l писал(а):PS: Это серьёзная засада.
Полностью согласен и поддерживаю. И чего-то мне кажется, что это засада не последняя....
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
Манифесты отвечают отнюдь не только за "красивости GUI". Виртуализацию файловой системы для приложений без элемента "trustInfo" в манифесте помните?
Да, забыл добавить. Проявляется это в версии Windows 10 версии 1703 после какого то тяжёлого обновления. В 1607 все нормально было.
Да, более вероятно, что виноват net framework 4.7, но под 10-кой
Да, более вероятно, что виноват net framework 4.7, но под 10-кой
Последний раз редактировалось gvido 15.08.2017 14:41:55, всего редактировалось 1 раз.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
gvido, они там эту десятку переделывают по третьему разу, так что еще не раз проявится.
Ну, как говориться, проблему проявили. Решить не решили, но проявили. Закрываем или пусть повисит еще?
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Имхо, пусть повисит. Возможно, кто-то подскажет как подправить манифест.
Попробую свериться с данными в манифесте. И отпишусь.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Код: Выделить всё
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="CompanyName.ProductName.AppName" type="win32"/>
<description>Your application description.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="true"/>
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
<!-- Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
<!-- Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>True</dpiAware>
</asmv3:windowsSettings>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
выдернутый из моего файла
подозреваю, что проще всего убрать строки
Код: Выделить всё
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
Конечно, это костыль... а куда деваться? Попробуй прямо из экзешника чем-нибудь типа resource Hacker вырезать.
gvido писал(а):Была такая мысль. Но как проверить? Как понять, что цепляется? Баг ли это IDE,FPC или фитча?
Process Explorer
https://technet.microsoft.com/ru-ru/sys ... lorer.aspx
- покажет все dll-ки
