Перейти к содержанию
Fire Monkey от А до Я

VerilogPro

Пользователи
  • Постов

    7
  • Зарегистрирован

  • Посещение

Достижения VerilogPro

  1. Здравствуйте, уважаемые программисты! Сразу оговорюсь что нуб. Не могу скомпилиролвать проект созданный в более ранней версии Delphi. Например при вызове функции OpenProcessToken(INVALID_HANDLE_VALUE, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, HToken) мне сообщают что [dcc32 Error] Unit1.pas(380): E2033 Types of actual and formal var parameters must be identical. HToken объявлен так: var HToken: Cardinal; Это совпадает с описанием функции при наведении на неё мышкой. Остальное константы объявленные в модулях самой студии. Как это понимать и бороться с этим? Далее я вообще в шоке. Я импортировал OpenProcessToken и AdjustTokenPrivileges (следующая которая быковала) вручную и следующая функция мещающая компиляции SizeOf. Вот фрагмент: with NID do begin cbSize := SizeOf(TNotifyIconData); NID - это TNotifyIconData. Мне сообщают что [dcc32 Error] Unit1.pas(484): E2034 Too many actual parameters. Как это понимать, мне что SizeOf вызывать без аргументов, что она тогда вернёт? Ещё я получал ошибки что функция не перегруженная, хотя я ей подаю то что она просит (если верить подсказкам студии). При компиляции 32 бит, 64 не пробовал ибо мне это не интересно, там вызываются функции из Bass.dll 32 бита. Мне что теперь каждую функцию импортировать самому (хотя они объявленны), это называется быстрая разработка? Так же есть непонимание зачем мне теперь указывают такую сложную иерархию модулей, если раньше функция была в модуле Windows то теперь мне пишут что она объявленна в Winapi.Windows. Я что-то проспал или это одно и то же?
  2. Проблема решилась. Вернул весь функционал и запускаю теперь отдельно екзешник от администратора, из под студии по прежнему всё это удаляется. В итоге компилирую и тут же закрываю, а тестирую функционал отдельным запуском. Ещё решил другую проблему (она была серьёзнее этой), при отключении дисплея (не важно кнопкой или из проги во так PostMessage(Form1.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);), спустя некоторое время, комп уходил в сон. Много вариантов попробовал (не пробовал только хук с фильтрацией сообщений) но развязать эти события не мог. Последнее что делал: В реестре HKLM->SYSTEM->CurrentControlSet->Control->Power->CsEnabled(DWORD)=0 (его не было, создал). В onCreate формы добавил SetThreadExecutionState(ES_SYSTEM_REQUIRED or ES_CONTINUOUS);, ну и в onDestroy соответственно SetThreadExecutionState(ES_CONTINUOUS); и комп успешно отработал всю ночь после отключения дисплея (кнопкой не пробовал, мне это и не нужно). Всем спасибо за внимание и попытки оказать помощь. Всем успехов.
  3. Поковырялся немного, похоже запуск процесса ни при чём. Отключил весь функционал, оставил только запуск процесса по кнопке и дефендер затих. Дальнейшее расследование буду проводить вокруг функции GetProcessId из Kernel32.dll (кстати я её загружаю статически, видимо не была объявленна в модулях, видимо не с проста, видимо считается опасной) и taskkill.exe ещё запускаю. Я думаю функции ExtractFilePath, ZeroMemory и CloseHandle не могут считаться опасными, без них вообще нереально кодить, можно сразу тогда переставлять операционку. Больше в проекте реально ничего нет, остальное работа со свойствами визуальных компонентов. Не умел писать вирусов, а по итогу оказалось что написал. Как я понял это самая жёсткая реакция всех антивирусов, будто моя программа самый страшный в мире вредонос))
  4. Вообще у дефендера странная логика работы. Ну вызвали CreateProcess или ShellExecuteEx и что из этого? Ты проверяй ту прогу что пытаются запустить, при чём тут прога которая скомпиленна на локальном компьютере легальной студией? А тем временем другая прога, использующая функции из powrprof.dll, способная отключать дисплей, переводить комп в режим hibernation (если доступно) и вообще вырубать без всяких диалогов и предупреждений работает без проблем (даже от администратора запускать не нужно). Получается так баловаться можно, а запустить прогу ни ни.
  5. Да, понимаю что кривая фигня, но я не распространяю свои программы в массы. Это просто пост оператора от самодельного оборудования, программа будет использоваться на рабочем компьютере (там семёрка вообще стоит, не думаю что будут проблемы, по крайней мере раньше не было, я там и проги компилил и в квартусе прошивки собирал, никогда никто не ругался). Просто меня это поведение очень сильно удивило после семёрки. Думал можно избавиться малой кровью. Получается что и отключить по нормальному (я имею в виду обычные настройки) нельзя, пишут что можно отключить на время и запустить программу пока всё не включилось обратно автоматически. С майкрософтом пока нужно взять паузу, выбесили они меня там и в форуме answers и в msdn. Типа модератор answers начал приставать с непристойными вопросами где я взял лицензию и сам образ 10-й винды редакции интерпрайс. Сначала мы с ним понемногу покусывали друг друга в рамках форума answers (и он заблокировал там мой аккаунт), а потом продолжили искрить в рамках msdn. Я ему объясняю что образ загрузил с сайта майкрософт, что они сами дали мне ссылку на загрузку, а интелектуальные способности чела видимо не позволяют воспринять и понять данную информацию. На msdn похоже скоро тоже заблокируют, там им моё имя не понравилось - Monsieur Χ*û (я тут не буду писать, думаю всем понятно что вместо звёздочки), модератор попросил сменить, а я не стал. Там все символы греческого алфавита (точнее последний не помню из какого набора, но не русская й), не знал что нельзя писать греческие символы в определённой последовательности.
  6. Думаю в этом направлении. Не охота делать дырки в виде целых папок, хотел найти универсальное решение для всех проектов. Попробую скомпилировать и (пока екзешник не удалён) добавить в исключения. Видимо придётся мириться с такой фигнёй и в каждом проекте добавлять в исключения
  7. Здравствуйте уважаемые дамы и господа! У меня стоит система Windows 10 Enterprise Evaluation version 20H2 build 19042.631 и в эту систему установленна программа Embarcadero® Delphi 10.3 Community Edition version 26.0.36039.7899. После компиляции проекта запускается процесс, через небольшое время появляется оповещение (насколько могу судить от встроенной программы Defender) о вирусах и угрозах, далее процесс завершается и (что меня удивило больше всего) исполнимый фаил удаляется. Как мне компилировать мои проекты (на данный момент один попробовал, за остальные переживаю, как бы ещё какие файлы не удалились вместе с екзешником) чтоб они работали и не удалялись? Задавал вопрос в майкрософтовском сообществе, помощи нет, в основном интересовались где и как я добыл лицензию на корпоративную версио операционной системы. Желательно не менять функционал системы (имеется в виду не отключать защитные механизмы совсем), не устанавливать обновлений, не добавлять папку с проектом в исключения (возможно программа будет запускаться на другой операционной системе и это не решение проблемы). Режим разработчика включен (если система его не отключила, я смотрю система достаточно самовольна). На данный момент мне известно что процесс удаляется после запуска моей программой другого процесса, до этого момента её никто не трогает. Запускаемый моей программой процесс не считается опасным и продолжает работать после того как процесс моей программы удалён. Не знаю какой раздел подходит для данного вопроса ибо есть непонимание сути проблемы, если модераторы чётко понимают какой это раздел и перенесут вопрос буду благодарен Заранее всем спасибо.
×
×
  • Создать...