Как Jedi API помогает в использовании Windows API?

У меня есть представление о том, что такое Jvcl... это набор компонентов, которые вы устанавливаете, но что меня действительно интересует, так это преобразование Jedi win32 API. Я не знаю, что с ними делать и как их использовать.

Вы же их не устанавливаете? Скажем, например, я хочу использовать API SendInput или аналогичный; как мне найти, как использовать его в Jedi API? Это то, для чего нужен Jedi API?

Я просмотрел весь их сайт и безуспешно искал учебники. Я даже загрузил все файлы справки, которые смог найти, но все равно потерялся.


person Sheep    schedule 04.04.2014    source источник
comment
Вы смотрели список на этой странице? delphi-jedi.org/apilibrary.html   -  person Graymatter    schedule 04.04.2014
comment
Почему вы используете Jedi для доступа к SendInput()? Он объявлен в собственном модуле Windows Delphi.   -  person Remy Lebeau    schedule 04.04.2014
comment
Реми, я не использую его для доступа к SendInput, я просто не был уверен, можешь ли ты использовать его для этого или нет? я думал, что jedi api должен был быть документацией Windows API C, переведенной на Delphi для более удобного использования. Вот в чем я не уверен, каковы преимущества использования Delphi API? я читал что-то о преобразовании заголовков C? Как мне это использовать? какие преимущества у меня есть? я полностью потерял с ним. Спасибо всем за ваш вклад   -  person Sheep    schedule 04.04.2014
comment
Что ты пытаешься сделать.   -  person David Heffernan    schedule 04.04.2014
comment
Delphi предоставляет множество переводов Windows API (SendInput() является одним из них), но, очевидно, он не определяет все, что определяет Windows API, это было бы слишком большим. Jedi определяет некоторые вещи, которых нет в Delphi. Но вы должны сначала проверить, определяет ли Delphi его, а затем прибегать к стороннему решению, только если оно вам действительно нужно. Если вас интересует только небольшой набор функций, может быть проще определить их самостоятельно непосредственно в коде, а не использовать стороннее решение. Это действительно зависит от ваших конкретных потребностей.   -  person Remy Lebeau    schedule 04.04.2014
comment
@Remy Почему предоставление полного SDK было бы слишком большим? Отлично работает для VS.   -  person David Heffernan    schedule 05.04.2014
comment
VS использует оригинальный SDK как есть, но Delphi вообще не может использовать SDK, он должен перевести все на Pascal, а это большая задача. Даже существующие в настоящее время переводы не свободны от ошибок.   -  person Remy Lebeau    schedule 05.04.2014


Ответы (1)


JEDI API состоит из нескольких переводов заголовков Windows API. В Delphi RTL переведена значительная часть Windows API. Это реализовано в ряде модулей, основным из которых является модуль Windows.

Однако перевод заголовков Delphi неполный. Более того, каждая новая версия Windows содержит множество новых API. Embarcadero медленно догоняет и в некоторых случаях предпочитает не переводить.

Проект JEDI API пытается стать более полным набором переводов заголовков. Он все еще неполный, но имеет больший охват, чем модули, поставляемые с Delphi. Это особенно полезно, если вы используете более старую версию Delphi, в которой предоставленные переводы заголовков сильно устарели.

person David Heffernan    schedule 04.04.2014