Delphi.cz

Český portál Delphi

Spolupráce kódu Delphi a Java

Použití Java Native Interface v Delphi

Při řešení jednoho projektu jsem byl postaven před úkol jak připojit k již existujícímu projektu napsanému v Javě další funkčnost a uživatelská rozhraní napsaná mými kolegy delphisty. Nativní kód byl vytvořen v Delphi 2007.

Tvůrci Javy, vědomi si toho, že v některých případech je použití nativního kódu nezbytné, vybavili Javu rozhraním pro spolupráci s nativními jazyky (měli tedy na mysli především C/C++) - rozhraním JNI (Java Native Interface). Toto řešení také otevřelo možnost v nových Java projektech využít i již existující a odladěný nativní kód.

Dobře, ale jak využít tohoto rozhraní v Delphi? Zapátral jsem po internetu a nalezl jsem několik zajímavých odkazů. Předně je to článek Using the Java Native Interface with Delphi od Matthewa Meada. Článek obsahuje podrobné informace o použití rozhraní JNI a také příklady použití nativního Delphi kódu v Javě a naopak javovského kódu v projektu Delphi. Na výše zmíněné adrese je také ke stažení unit JNI.pas, který vám umožní spolupráci Javy a Delphi jednoduše zrealizovat.

Původní verze unitu je sice z roku 2002, ale spolehlivě funguje při použití Delphi 2007 a JDK 1.6.x. Dlouho se pak na toto téma nic nedělo, až po delší době - v roce 2006 se objevila vylepšená verze a nedávno jsem na fóru Embarcadera objevil unit JNI.pas (z 9.2.2011) upravený pro unicode, tzn. pro použití v Delphi 2009 a vyšších. Unit je ke stažení na adrese forums.embarcadero.com/thread.jspa?threadID=60391&tstart=0.

Karel Kučera

Datum: 2011-11-15 20:19:00 Tagy: praxe

Praxe