|
|
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
по работе необходимо часто просматривать содержимое файлов запросов на сертификат и сертификатов ЭП(электронной подписи). Написал программу для этого и на основе её плагин для тотал коммандера. Писал на Delphi 7 и дублировал на lazarus. Приложение понятное дело - 32-битное. Ну вот захотелось плагин сделать для 64-битного тотал коммандера. Естественно сразу наткнулся на грабли : приложение скомпилировалось (на lazarus64) но функции cryptoapi перестали работать. По-гуглив, изменил тип используемых переменных dword и cardinal на dword_ptr. Функции cryptoapi заработали. Но немогу решить проблему в этом коде: На 32 бит работает такое: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. а на 64 бит нет. первый [0].pszObjId элемент массива видит, а при обращении к [1].pszObjId ошибка cannot access memory at address а обращение к CERT_EXTENSIONS(pCertContext.pCertInfo.rgExtension)[i]. fCritical ошибок не вызывает. Код: pascal 1. может для 64 бит тут надо другой тип? немогу найти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 13:34 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81может для 64 бит тут надо другой тип? Сравни Sizeof в 32 и в 64 бита. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 13:51 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
wadmanalexer81может для 64 бит тут надо другой тип? Сравни Sizeof в 32 и в 64 бита. да разный Код: pascal 1. 2. 3. 4. 32 бит - 4 64 бит - 8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 14:09 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81, тебе намекают на неверный размер CERT_EXTENSION из-за ошибочного выравнивания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 14:18 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
GunSmokeralexer81, тебе намекают на неверный размер CERT_EXTENSION из-за ошибочного выравнивания. Не понимаю что это означает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 14:27 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81GunSmokeralexer81, тебе намекают на неверный размер CERT_EXTENSION из-за ошибочного выравнивания. Не понимаю что это означает. Это значит, что нужно сравнить размер GunSmokerневерный размер CERT_EXTENSION из-за ошибочного выравнивания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 14:28 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
проверил каждый элемент массива 32 бит - CERT_EXTENSION[i] -16 64 бит - CERT_EXTENSION[i] -28 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 14:37 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer8132 бит - CERT_EXTENSION[i] -16 64 бит - CERT_EXTENSION[i] -28 Многовато, должно быть на 8 байт больше, а не на 12, потому что только два указателя в структуре. Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 14:47 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer8164 бит - CERT_EXTENSION[i] -28 Есть мнение, что должно быть 32, ибо 28 на 8 не делится. У тебя выравнивание записей на 4 байта, а должно быть на 8 байт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 14:48 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81может для 64 бит тут надо другой тип? немогу найти. LPSTR = PAnsiChar; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 14:57 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
да получается что в pCertContext.pCertInfo.rgExtension не то что надо(или неполностью) 32 бит sizeof(pCertContext.pCertInfo.rgExtension^)=16 64 бит sizeof(pCertContext.pCertInfo.rgExtension^)=28 CertFindExtension тоже не находит расширения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 15:09 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
32 бит 64 бит sizeof(pCertContext^.pCertInfo^.rgExtension^.fCritical) 4 4 sizeof(pCertContext^.pCertInfo^.rgExtension^.pszObjId) 4 8 sizeof(pCertContext^.pCertInfo^.rgExtension^.Value) 8 16 есть мысли где неправильно? и почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 16:14 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. У меня x32=16, x64=32 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 17:34 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81, не работает конкретно в wlx-плагине или в обычном приложении тоже? сделал тестовое приложение в Lazarus версии 1.6.2, всё нормально работает. случайно не используете модуль-огрызок Wcrypt2.pas ? В лазарусе имеется JwaWinCrypt. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 18:18 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81Не понимаю что это означает. в таком случае, увы, тебе едва ли стоит САМОМУ заниматься самостоятельным использованием DLL, пока не поймешь. потому что это стандартная грабля с переносом структур данных между языками, когда компилятор ничего не может проверить и доверяет человеку абсолютно. И тут тебе повезло, что ошибка была такая грубая, что программа мгновенно вылетела. А если бы ошибка была тоньше, то она могла бы внешне не проявиться и только втихую портить данные, несколько месяцев или лет.... ------------- Как вариант, для Delphi есть JEDI Win API Translation and Crypto API Library К сожалению, проект полузаброшенный, поэтому разобраться какую версию ставить ( 2.3 / 2.4. , с сайта или с SVN ) можно только методом тыка. Тупо включаешь эти модули в проект - и они не компилируются. Но простейшие WinXP+ Crypto функции в Delphi XE2 Win32 работают. Когда заставишь скомпилироваться. Это тем более удобно, что ЕМНИП в разных версиях Windows функции расположены в разных DLL. Но я не пробовал её в Delphi x64 и не знаю, насколько оно совместимо. А если совместимо с Delphi x64 - ещё не факт что с ней совместим будет FPC x64 И всё же - попробовать использовать уже сделанное - вполне себе вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 19:51 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
Ghost Writeralexer81, не работает конкретно в wlx-плагине или в обычном приложении тоже? сделал тестовое приложение в Lazarus версии 1.6.2, всё нормально работает. случайно не используете модуль-огрызок Wcrypt2.pas ? В лазарусе имеется JwaWinCrypt. да пилю напильником Wcrypt2.pas. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 09:17 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
к сожалению те примеры которые попадались не работали c JwaWinCrypt. и я закопался в Wcrypt2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 09:23 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81к сожалению те примеры которые попадались не работали c JwaWinCrypt. и я закопался в Wcrypt2 alexer81, Потрать немного времени и вернись лучше обратно на JwaWinCrypt. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 09:29 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
sql2012alexer81к сожалению те примеры которые попадались не работали c JwaWinCrypt. и я закопался в Wcrypt2 alexer81, Потрать немного времени и вернись лучше обратно на JwaWinCrypt. да действительно lazarus 1.6.2 c использованием JwaWinCrypt код работает нормально. а вот времени придется потратить много чтобы перейти на JwaWinCrypt. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 16:21 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81, Ghost Writer Ребят, а не поделитесь кодом для wlx-plugina в Lazarus под Win64? Интересует пример инициализации LCL и последующего создания экземпляра формы именно для 64 бит. Уже долго мучаюсь - не могу собрать wlx-plugin для 64-х битного TotalCommander-а. Для 32-х битного TotalCommander-а работает пример из сети, а на 64 - падает. Вот мой код проект: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. форма: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 16:51 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
wlx-plugin Код: pascal 1. нет такого типа! есть PAnsiChar, есть PWideChar в общем - надо смотреть документацию, в какой конкретно кодировке приходят и уходят эти строки ЕМНИП в FPC нынешнем строки вообще UTF-8, то есть не сопадают ни с одним из вариантов string/char/pchar в Deдphi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 18:17 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81Ghost Writeralexer81, не работает конкретно в wlx-плагине или в обычном приложении тоже? сделал тестовое приложение в Lazarus версии 1.6.2, всё нормально работает. случайно не используете модуль-огрызок Wcrypt2.pas ? В лазарусе имеется JwaWinCrypt. да пилю напильником Wcrypt2.pas.напильник драчевый ? попробовал подкинуть Wcrypt2.pas в лазарус - 70 ворнингов типа Wcrypt2.pas(8441,1) Warning: Comment level 3 found и fatal error ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 22:19 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
вот морока теперь.. есть системный(или как это называется незнаю) тип TFileTime(описан в Struct.inc) и в JwaWinType зачем-то определен TFileTime. компилятор говорит что это не одно и тоже. А я ранее преобразовывал дату через FileTimeToSystemTime Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. FileTimeToSystemTime нужен TFileTime из в Struct.inc а у меня есть pCertContext^.pCertInfo^.NotBefore - TFileTime из JwaWinType как их состыковать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 22:32 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
авторнапильник драчевый ? попробовал подкинуть Wcrypt2.pas в лазарус - 70 ворнингов типа Wcrypt2.pas(8441,1) Warning: Comment level 3 found и fatal error я им с 2012 пользуюсь. и за это время многое подправил и добавил. на 32 бита прекрасно всё работало. Один модуль для Delphi7 и Lazarusa ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 22:37 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81, вместо модуля Windows подключи JwaWindows ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 23:00 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
с модулем Windows тоже можно таким способом: Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 23:10 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
Ghost Writeralexer81, вместо модуля Windows подключи JwaWindows спасибо за наводку. нужно было Windows совсем убрать. а в JwaWindows есть тоже свой Tfiletime и он недружит с JwaWinType.Tfiletime ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 23:18 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
тогда FILETIME(Context^.pCertInfo^.NotBefore) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 23:22 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
спасибо с FILETIME разобрался. всё работает. переход JwaWinCrypt завершен :) (почти) в JwaWinCrypt CryptStringToBinary описан так : Код: pascal 1. 2. 3. а в wincrypt2 в соответствии с описанием MS Код: pascal 1. 2. как же тогда тут узнать размер ppcbBinary если ppBinary не указатель? надо же первые раз сделать вызов: Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 23:52 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81как же тогда тут узнать размер ppcbBinary если ppBinary не указатель? ppcbBinary - это и есть размер. но мне не понятно куда делся 7-й параметр pdwFlags, который возвращает информацию из какого формата был файл перекодирован. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2017, 00:25 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
компилируется, но при запуске --------------------------- Точка входа в процедуру CryptToStringBinaryA не найдена в библиотеке DLL crypt32.dll. --------------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2017, 00:28 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
сверху даже комментарий. джедаи про него забыли )) Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2017, 00:33 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
написал в своём модуле так : Код: pascal 1. 2. работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 10:41 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
у меня есть сборник win32api от JEDI там файлы 2001-2002 г.г. так там в JwaWinCrypt вообще нет этой функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 10:47 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81, Извините, что не в тему. Так все-таки Ваша разработка - это именно wlx-плагин ? Если да, и вы используете LCL, то не затруднит ли Вас показать код инициализации формы плагина для 64-х битного TotalCommandera? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 11:08 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
wlx-pluginalexer81, Извините, что не в тему. Так все-таки Ваша разработка - это именно wlx-плагин ? Если да, и вы используете LCL, то не затруднит ли Вас показать код инициализации формы плагина для 64-х битного TotalCommandera? плагин у меня есть написаный на дельфи7. на лазарус перевожу только из-за поддержки 64 бит. как что получится сообщу вам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 11:20 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81плагин у меня есть написаный на дельфи7. на лазарус перевожу только из-за поддержки 64 бит. как что получится сообщу вам. Спасибо, с интересом буду ждать. Насколько я знаю Гислер (автор TotalCommander) в своих плагинах LCL не использовал: http://www.ghisler.ch/board/viewtopic.php?t=36164&highlight=wlx lazarus&sid=7e615a020cdbde2b25014fa8de79e3f7 Но это сообщение из 2013-го... Нужен "hello word" для современных версий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 11:30 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81у меня есть сборник win32api от JEDI там файлы 2001-2002 г.г. так там в JwaWinCrypt вообще нет этой функции а что, в 2002 году уже вышла Windows Vista ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 07:14 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
O'Riochа что, в 2002 году уже вышла Windows Vista ?а причем тут Vista? на XP уже была. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 08:00 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
wlx-plugin, по поводу плагина. Дельфийский код оказался несовместимым использовал твой. на 32 бит работает но плагин не встраивается в lister - выглядит как дочерним окном внутри listera. пока не найду где что исправить. на 64 бит открывает файл показывает информацию и сразу вываливается ошибка автор--------------------------- Total Commander 9.0a --------------------------- Access violation. Access violation Windows 7 SP1 6.1 (Build 7601), base: 0400000 Please report this error to the Author, with a description of what you were doing when this error occurred! Stack trace (x64):40A700 4312C2 43E721 43E436 44040C 440881 78CDCC 440827 404895 Press Ctrl+C to copy this report! Continue execution? --------------------------- Да Нет --------------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 15:06 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81wlx-plugin, по поводу плагина. Дельфийский код оказался несовместимым использовал твой. на 32 бит работает но плагин не встраивается в lister - выглядит как дочерним окном внутри listera. пока не найду где что исправить. на 64 бит открывает файл показывает информацию и сразу вываливается ошибка автор--------------------------- Total Commander 9.0a --------------------------- Access violation. Access violation Windows 7 SP1 6.1 (Build 7601), base: 0400000 Please report this error to the Author, with a description of what you were doing when this error occurred! Stack trace (x64):40A700 4312C2 43E721 43E436 44040C 440881 78CDCC 440827 404895 Press Ctrl+C to copy this report! Continue execution? --------------------------- Да Нет --------------------------- Так в том то и беда, что для 64-х бит ломается... Сама идея использования формы (т.е. LCL) в dll плохая... Для 32-х бит у формы Border := bsNone нужно поставить. А что новые версии Delphi не умеют 64 bit? Почему бы в эту сторону не посмотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 15:14 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
wlx-pluginДля 32-х бит у формы Border := bsNone нужно поставить. а в дельфи и без этого обходилось wlx-pluginСама идея использования формы (т.е. LCL) в dll плохая... ранее часто использовал незнаю что в этом плохого. wlx-pluginА что новые версии Delphi не умеют 64 bit? Почему бы в эту сторону не посмотреть? какую версию и где её взять? вот диск с дельфи7 я купил за 70 р. на книжном рынке в 2002 г. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 15:50 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81какую версию и где её взять? вот диск с дельфи7 я купил за 70 р. на книжном рынке в 2002 г. https://www.embarcadero.com/ru/products/delphi/starter/promotional-download ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 15:55 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
wlx-pluginalexer81какую версию и где её взять? вот диск с дельфи7 я купил за 70 р. на книжном рынке в 2002 г. https://www.embarcadero.com/ru/products/delphi/starter/promotional-download А нет, этот starter не поддерживает 64bit: https://www.embarcadero.com/products/delphi/product-editions Вот блин, думал таки можно и легально, и бесплатно... но нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 10:33 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81, Да, кстати, этот код работает для 64-х битного Double Commander. Проблема именно с Total Commander 64bit ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2017, 17:00 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
wlx-pluginalexer81, Да, кстати, этот код работает для 64-х битного Double Commander. Проблема именно с Total Commander 64bit да работает без ошибок. ну что же придется замещать импорт )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2017, 09:38 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81... да работает без ошибок. ну что же придется замещать импорт )) Что значит "замещать импорт" ? Т.е. Вы оставляете поиски решения для TotalCommander 64bit? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2017, 11:23 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
wlx-pluginalexer81... да работает без ошибок. ну что же придется замещать импорт )) Что значит "замещать импорт" ? Т.е. Вы оставляете поиски решения для TotalCommander 64bit? ну решение пока такое: delphi xe 7. известный пример плагина wlx Листер плагин на Borland Delphi 7 для начинающих на основе его и свой делал. работает без ошибок и под 32 и под 64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2017, 16:13 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
оказывается что ошибка автор--------------------------- Total Commander 9.0a --------------------------- Access violation. Access violation Windows 7 SP1 6.1 (Build 7601), base: 0400000 Please report this error to the Author, with a description of what you were doing when this error occurred! Stack trace (x64):40A700 4312C2 43E721 43E436 44040C 440881 78CDCC 440827 404895 Press Ctrl+C to copy this report! Continue execution? --------------------------- Да Нет --------------------------- вылетает после того как курсор мышки начинает шевелится над плагином ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2017, 14:44 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
т.е. если курсор отвести в сторону от тотала. то ошибка не появится, и тотал и запущенный плагин будут работать нормально.закрываться без ошибок. пока курсор мыши не появится над окном плагина ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2017, 14:49 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
alexer81т.е. если курсор отвести в сторону от тотала. то ошибка не появится, и тотал и запущенный плагин будут работать нормально.закрываться без ошибок. пока курсор мыши не появится над окном плагина Да, все так. Но это, так сказать, только одно из проявлений ошибки - сообщение WM_NCHITTEST. У меня, например, также все валится при вызове метода: Код: pascal 1. Кроме того на 64 битах есть проблемы (AV) c якорями. И это уже в приложение, а не в плагине. Вообщем, у меня пока ощущение что для Win64 в Lazarus еще много багов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2017, 15:13 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
Вот Гислер в listplughelp2.1 пишет авторWindows messages below WM_USER are not passed to the windows procedure. -> Use SetWindowLongPtr to subclass the window и что в связи с этим надо изменить в коде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2017, 14:26 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
пересел на другой комп. работаю в delphi XE7 при подключении JwaWinCrypt (хоть к пустому проекту) под 32 компилится без ошибок, а под 64 ругается на Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. пишет [dcc64 Error] JwaWinBase.pas(6355): E2197 Constant object cannot be passed as var parameter и такая же ругня на Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. глянул прошлый раз я эти строки просто закомментировал. может по-правильному надо по-другому исправить? в лазарусе код выглядит также и не ругается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2018, 11:01 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
Заменить alexer81 Код: pascal 1. на Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2018, 12:49 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 22:08 |
|
||
|
перевод приложения на 64 бит
|
|||
|---|---|---|---|
|
#18+
по поводу wlx-plugina в Lazarus под tcmd64. решилось заменой: GetWindowLong -> GetWindowLongptr и SetWindowLong(fmMain.Handle, GWL_USERDATA, PtrInt(fmMain)); на SetWindowLong(Widgetset.AppHandle, GWL_USERDATA, PtrInt(fmMain)); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 16:08 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2040185]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
214ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
114ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 626ms |

| 0 / 0 |
