Вверх ↑
Ответов: 1343
Рейтинг: 31
#1: 2020-05-05 13:26:37 ЛС | профиль | цитата
Netspirit писал(а):
"FPC64" - какой? Юникодный?


при Unicode ошибки такие:

HiAsmUnit.pas(65,31) Error: Incompatible type for arg no. 2: Got "PChar", expected "PWideChar"
HiAsmUnit.pas(90,43) Error: Incompatible type for arg no. 3: Got "PWideChar", expected "PChar"

без Unicode ошибок нет при компиляции, ошибка лишь в работе приложения, когда дрв загружается, вылазит Access Violation или Runtime, с 32 битным компилятором FPC без unicode - ошибок нет и загружается всё нормально. с правками кода, под FPC64U ошибки пропадают, но толку от всего этого нет.

Netspirit писал(а):
Исправить ошибки компиляции в FPC-64U:
- заменить "pansichar" на "pchar" в function SetPriviledge(name:pchar):boolean;
- закомментировать функцию StringToPWide()
- заменить использование StringToPWide():
RtlInitUnicodeString(Ustr,PWideChar(WideString('\registry\machine\SYSTEM\CurrentControlSet\Services\'+DRIVER_SVC_NAME)));

Будет ли после этого работать - без понятия.


попробовал, ну и так же на 32 работает, а на 64 всё тоже самое, ошибка при работе приложения
попробовал так же и 64U, ошибка не поменялась, всё тоже самое.

может ошибка где то чуть в другом месте?
карма: 2

0
Редактировалось 2 раз(а), последний 2020-05-05 13:30:24