Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
4 / 4 / 1
Регистрация: 23.01.2015
Сообщений: 330

Не работает код на Delphi XE8,10

25.09.2015, 18:30. Показов 2175. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создавал мини-сервис для моей проги(Unlocker'a) в Delphi 7 Lite fill. Потом появилась ошибка при запуске и я перешёл на DElphi XE8. Там уже для других целей понадобилось использовать вот этот код:
Delphi
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
function createnewprocess:boolean;
var
acl : _acl;
sd : _security_descriptor;
sa : _security_attributes;
si : _startupinfoa;
pi : process_information;
begin
result:=false;
if not initializeacl(acl,sizeof(_acl),acl_revision)
then showmessage('initializeacl'+#13#10+syserrormessage(getlasterror));
if not isvalidacl(acl) then exit;
if not initializesecuritydescriptor(@sd,security_descriptor_revision)
then showmessage('initializesecuritydescriptor'+#13#10+syserrormessage(getlasterror));
if not setsecuritydescriptordacl(@sd,true,@acl,true)
then showmessage('setsecuritydescriptordacl'+#13#10+syserrormessage(getlasterror));
if not isvalidsecuritydescriptor(@sd) then exit;
zeromemory(@sa,sizeof(sa));
sa.nlength:=sizeof(sa);
sa.binherithandle:=false;
sa.lpsecuritydescriptor:=@sd;
zeromemory(@si,sizeof(si));
si.cb:=sizeof(si);
if not createprocess(nil,'notepad.exe',@sa,@sa,false,0,nil,nil,si,pi)
then showmessage('createprocess'+#13#10+syserrormessage(getlasterror));
 
result:=true;
end;
Delphi
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
 procedure TForm1.Button5Click(Sender: TObject);
var
acl : _acl;
sd : _security_descriptor;
sa : _security_attributes;
si : _startupinfoa;
pi : process_information;
begin
if not initializeacl(acl,sizeof(_acl),acl_revision)
then showmessage('initializeacl'+#13#10+syserrormessage(getlasterror));
if not isvalidacl(acl) then exit;
if not initializesecuritydescriptor(@sd,security_descriptor_revision)
then showmessage('initializesecuritydescriptor'+#13#10+syserrormessage(getlasterror));
if not setsecuritydescriptordacl(@sd,true,@acl,true)
then showmessage('setsecuritydescriptordacl'+#13#10+syserrormessage(getlasterror));
if not isvalidsecuritydescriptor(@sd) then exit;
zeromemory(@sa,sizeof(sa));
sa.nlength:=sizeof(sa);
sa.binherithandle:=false;
sa.lpsecuritydescriptor:=@sd;
zeromemory(@si,sizeof(si));
si.cb:=sizeof(si);
if not createprocess(nil,'Unlocker.exe',@sa,@sa,false,0,nil,nil,si,pi)
then showmessage('createprocess'+#13#10+syserrormessage(getlasterror));
end;
Этот код работал на Delphi 7 lf. А на XE8,10 пишет что ошибок нет, а при компиляции выдаёт ошибку на функцию createprocess а точнее на её параметры(,si,)!

Подскажите как решить эту проблему!!!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.09.2015, 18:30
Ответы с готовыми решениями:

CodeSite в Delphi XE8, не работает CodeSiteLogging
Скажите, почему при подключении модуля CodeSiteLogging, Delphi его не находит?

Не работает RegExpr Delphi XE8 на андроид
Кинул файл регулярки RegExpr в дириктории Delphi XE8 по пути \Studio\16.0\lib\win32\debug \Studio\16.0\lib\win32\release В...

Программа, написанная на Delphi XE8, не работает на WinXP
Я сделал программу на Delphi XE8 для моих знакомых! У меня Win 7 а у них xp и она на xp не работает! Как это исправить!?! Помогите!

4
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
25.09.2015, 20:19
Цитата Сообщение от Zagadohnik37 Посмотреть сообщение
пишет что ошибок нет, а при компиляции выдаёт ошибку
Знатно загнул)

Прелюбопытно, кто же тогда "пишет", если "выдает" ?)
0
4 / 4 / 1
Регистрация: 23.01.2015
Сообщений: 330
25.09.2015, 21:41  [ТС]
mss, ошибок нет а при компиляции... скриншот...
Миниатюры
Не работает код на Delphi XE8,10   Не работает код на Delphi XE8,10  
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
25.09.2015, 21:51
Лучший ответ Сообщение было отмечено Zagadohnik37 как решение

Решение

Либо
si : _startupinfoa;
либо
createprocessa(nil,
0
4 / 4 / 1
Регистрация: 23.01.2015
Сообщений: 330
26.09.2015, 10:06  [ТС]
Да, всё работает спс!

P.S. Тему можно закрывать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.09.2015, 10:06
Помогаю со студенческими работами здесь

Delphi XE8: Не работает реклама через BannerAd (AdMob)
Здравствуйте. Не работает реклама через BannerAd(AdMob). ID рекламного блока правильный. Вызываю так: BannerAd1.AdUnitID :=...

ОС на Delphi XE8
Всем привет! У меня есть вопрос! Могу ли я, если могу то как, сделать ОС на Delphi XE8! Позырил кучу форумов! Кто-то говорит можно,...

Delphi XE8
Ну собственно что имеем: JSON с вк приходит, парситься, а как вывести его я не знаю, ну вот и обращаюсь к вам, сверхразумы, знаете ли...

Delphi XE8
Прошу подсказать. У меня установлен Delphi XE8. Создал простую программку, запись данных в Базу данных SQL-server Все работает...

Delphi XE8 и Indy
Недавно начал программировать в Delphi. Скачал последнюю версию XE8, начал создавать чат приложение с помощью tcp indy, смотрел на форумах...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru