Lazarus 1.6.4 и библиотеки ВербаOW

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

gvido, скорее всего, при подключении манифеста подключается другой режим взаимодействия, возможно даже другой набор библиотек, которые не совместимы с некоторыми библиотеками под winAPI.
gvido
постоялец
Сообщения: 188
Зарегистрирован: 28.03.2012 11:35:31

Сообщение gvido »

Была такая мысль. Но как проверить? Как понять, что цепляется? Баг ли это IDE,FPC или фитча?
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

gvido, либо посмотреть асм листинги, либо распотрошить компилятор/Лазарус и посмотреть что и где от подключает.
gvido
постоялец
Сообщения: 188
Зарегистрирован: 28.03.2012 11:35:31

Сообщение gvido »

А может, кто в багтрекер напишет, кто с разработчиками на связи? Есть такие?
Проблема то явно не в dll. Манифест же отвечает за "касивости" GUI, при чем тут работа dll то?
Хотя в ней есть несколько оконных функций отвечающих за инициализацию ДСЧ.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

gvido писал(а): Манифест же отвечает за "касивости" GUI, при чем тут работа dll то?


На самом деле, эти "красивости" это куча гуано и палок, встроенная в систему. Возможно, придется чуть подправить манифест.
Аватара пользователя
vitaly_l
долгожитель
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41
Контактная информация:

Сообщение vitaly_l »

gvido писал(а):что за хрень творится!?!?!?

Полагаю, что когда: включено - подгружается какая-то НОВАЯ системная DLL и какая-то новая функция из неё и ВербаOW обращается к новой одноимённой функции, вместо старой, а это ведёт к сбою. А когда выключено, то подгружается одноимённая функция из старой DLL и соответственно ВербаOW - работает с той функцией, на которую рассчитана.

PS: :roll: Это серьёзная засада.

.
gvido
постоялец
Сообщения: 188
Зарегистрирован: 28.03.2012 11:35:31

Сообщение gvido »

vitaly_l писал(а):PS: Это серьёзная засада.


Полностью согласен и поддерживаю. И чего-то мне кажется, что это засада не последняя....:(
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

Манифесты отвечают отнюдь не только за "красивости GUI". Виртуализацию файловой системы для приложений без элемента "trustInfo" в манифесте помните?
gvido
постоялец
Сообщения: 188
Зарегистрирован: 28.03.2012 11:35:31

Сообщение gvido »

Да, забыл добавить. Проявляется это в версии Windows 10 версии 1703 после какого то тяжёлого обновления. В 1607 все нормально было.
Да, более вероятно, что виноват net framework 4.7, но под 10-кой
Последний раз редактировалось gvido 15.08.2017 14:41:55, всего редактировалось 1 раз.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

gvido, они там эту десятку переделывают по третьему разу, так что еще не раз проявится.
gvido
постоялец
Сообщения: 188
Зарегистрирован: 28.03.2012 11:35:31

Сообщение gvido »

Ну, как говориться, проблему проявили. Решить не решили, но проявили. Закрываем или пусть повисит еще?
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Имхо, пусть повисит. Возможно, кто-то подскажет как подправить манифест.
gvido
постоялец
Сообщения: 188
Зарегистрирован: 28.03.2012 11:35:31

Сообщение gvido »

Попробую свериться с данными в манифесте. И отпишусь.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 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 вырезать.
olegy123
долгожитель
Сообщения: 1643
Зарегистрирован: 25.02.2016 11:10:20

Сообщение olegy123 »

gvido писал(а):Была такая мысль. Но как проверить? Как понять, что цепляется? Баг ли это IDE,FPC или фитча?

Process Explorer
https://technet.microsoft.com/ru-ru/sys ... lorer.aspx
- покажет все dll-ки
Ответить