0

I have an idea of what the Jvcl is..it's a set of components and you install them, but what I'm really interested in is the Jedi win32 API conversion stuff. I'm unsure what to do with them or how to use them.

You don't install them do you? Say, for instance, I want to use the API SendInput or similar; how do I find how to use it within Jedi API? Is that what Jedi API is even for?

I've looked all over their site and searched for tutorials with no luck. I even downloaded all the help files I could find but I'm still lost.

Argalatyr
  • 4,629
  • 3
  • 34
  • 60
Sheep
  • 193
  • 1
  • 9
  • Have you looked at the list on this page? http://www.delphi-jedi.org/apilibrary.html – Graymatter Apr 04 '14 at 03:31
  • Why are you using Jedi to access `SendInput()`? It is declated in Delphi's own `Windows` unit. – Remy Lebeau Apr 04 '14 at 04:29
  • Remy, Im not using it to access SendInput, I just wasnt sure if you could use it or not to do that? i thought jedi api was supposed to be the Windows API C documentation translated into Delphi for easier use. Thats what im unsure of, what are the benifits to using the delphi API? ive been reading something about C header conversion? How do i use it? what benefits do i have? im completley lost with it. Thank you all so far for your input – Sheep Apr 04 '14 at 05:26
  • What are you trying to do. – David Heffernan Apr 04 '14 at 06:03
  • 1
    Delphi provides a lot of Windows API translations (`SendInput()` being one of them), but it obviously does not define everything that the Windows API defines, that would be too large. Jedi does define some things that Delphi does not. But you should first check if Delphi defines it first, and then resort to a third-party solution only if you actually need it. If you are only interested in a small set of functions, it might be easier to just define them yourself directly in your code instead of using a third-party solution. It really depends on your particular needs. – Remy Lebeau Apr 04 '14 at 18:25
  • @Remy Why would providing complete sdk be "too large"? Works fine for VS. – David Heffernan Apr 05 '14 at 07:59
  • VS uses the original SDK as-is, but Delphi cannot use the SDK at all, it has to translate everything to Pascal and that is a big undertaking. Even the translations that currently exist are not free from errors. – Remy Lebeau Apr 05 '14 at 16:47

1 Answers1

5

The JEDI API is made up of a number of header translations of the Windows API. The Delphi RTL has a good portion of the Windows API translated. This is implemented in a number of units, the main one being the Windows unit.

However, the Delphi header translations are incomplete. What's more each new version of Windows comes with a swathe of new APIs. Embarcadero catches up slowly and in some cases chooses not to translate.

The JEDI API project attempts to be a more complete set of header translations. It is still incomplete, but it has more coverage than the units shipped with Delphi. It is particularly useful if you are using an older version of Delphi where the supplied header translations are very out of date.

David Heffernan
  • 572,264
  • 40
  • 974
  • 1,389