<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JEDI Windows API &#187; Setup</title>
	<atom:link href="http://blog.delphi-jedi.net/tag/setup/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.delphi-jedi.net</link>
	<description>Joint Endeavor of Delphi Innovators of Windows Programming</description>
	<lastBuildDate>Sat, 21 Aug 2010 05:44:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>How to setup JWSCL?</title>
		<link>http://blog.delphi-jedi.net/2008/03/03/how-to-setup-jwscl/</link>
		<comments>http://blog.delphi-jedi.net/2008/03/03/how-to-setup-jwscl/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 13:30:40 +0000</pubDate>
		<dc:creator>Christian Wimmer</dc:creator>
				<category><![CDATA[JEDI Windows Security Code Lib]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[JWSCL]]></category>
		<category><![CDATA[Setup]]></category>

		<guid isPermaLink="false">http://blog.delphi-jedi.net/2008/03/03/how-to-setup-jwscl/</guid>
		<description><![CDATA[The JWSCL does only need a minor setup. You need to create a binary unit file (DCU-file) for the JEDI API Headers as described here. You must setup JEDI API first before you can start with JWSCL! Otherwise if you set Delphi source path to include JwaWindows.pas you&#8217;ll get an error like: Incompatible types: JwaWindows.XXX [...]]]></description>
			<content:encoded><![CDATA[<p>The JWSCL does only need a minor setup. You need to create a binary unit file (DCU-file) for the JEDI API Headers as described <a title="how-to-setup-the-library" href="http://blog.delphi-jedi.net/2007/12/27/how-to-setup-the-library/">here</a>.</p>
<p><strong>You must setup JEDI API first before you can start with JWSCL! Otherwise if you set Delphi source path to include JwaWindows.pas you&#8217;ll get an error like:</strong></p>
<p><pre>Incompatible types: JwaWindows.XXX and JwaWinNT.XXX</pre></p>
<p>JWSCL works with JwaWindows from the JEDI API. However this only works with some compiler directives defined in the packages in the package folder of JEDI API. Use these packages to compile and create a JwaWindows.dcu file.<br />
 <strong>ERROR:</strong> Adding the source path of JWA (folder Win32API) to your project options and then use JwaWindows and JWSCL does not work!</p>
<p>1. Adapt this source path to include some necessary files for JWSCL:</p>
<p><pre><pre>&quot;path to JEDI API&quot;\&quot;version&quot;\COM
e.g. C:\Projects\jwapi\2.3\COM</pre></pre></p>
<p>2. Make sure that you have added the path of JwaWindows.dcu to your project or general library path. After this step you can also add the source path to the JWSCL source folder (\source) to the project or general library path so all projects can easily use JWA and JWSCL.</p>
<p>3. Eventually you can start using JWA and JWSCL in the simplest way: Just add the units to your uses clause.</p>
<p>4. Consider to update your JEDI files using Subversion (with a Subversion client like TortoiseSVN). With TortoiseSVN you can just right click on the JEDI JWSCL folder and hit &#8220;SVN Update&#8221; (<span style="text-decoration: underline;">not </span>Checkout or Import!). The code is then updated.</p>
<p><a href="http://sourceforge.net/svn/?group_id=121894"></a></p>
<p><strong>You are finished here</strong> or you can read on to get some more information:</p>
<p>Be aware that the order of including units may change Delphi&#8217;s behavior if an identifier with the same name is declared in several units.</p>
<ol>
<li>JwaWindows instead of Borland&#8217;s Windows unit.</li>
<li>JwaVista for Vista enhancements. (This unit is no more available in newer versions than 2.2)</li>
</ol>
<p>Some types in these JWA units are duplicate. JwaVista recreates and extends them to add Vista support. Example:<br />
 The new <em>_TOKEN_INFORMATION_CLASS</em> type from JwaVista.pas has several new additions:</p>
<div class="dean_ch" style="white-space: wrap;">_TOKEN_INFORMATION_CLASS =<br />
JwaWindows._TOKEN_INFORMATION_CLASS +<br />
<span class="br0">&#40;</span><br />
TokenElevationType<br />
TokenLinkedToken<br />
TokenElevation<br />
TokenHasRestrictions<br />
TokenAccessInformation<br />
TokenVirtualizationAllowed<br />
TokenVirtualizationEnabled<br />
TokenIntegrityLevel<br />
TokenUIAccessTokenMandatoryPolicy<br />
TokenLogonSid<br />
<span class="br0">&#41;</span>;</div>
<p>However, if you add JwaVista and JwaWindows in this order into your uses clause you will only use the types from JwaVista. Some functions in JwaWindows or other libraries that use JWA won&#8217;t not know these types. To get the correct type you have to explicit adress the JwaWindows type.</p>
<div class="dean_ch" style="white-space: wrap;"><span class="kw1">var</span> fooTokenInfo : jwaWindows._TOKEN_INFORMATION_CLASS;<br />
&#8230;<br />
<span class="me1">foo</span><span class="br0">&#40;</span>fooTokenInfo<span class="br0">&#41;</span>;</div>
<p>JWSCL does not really need an order of its units.</p>
<p>Newer versions of JWSCL and JWA do no more support JwaVista.</p>
<h2>Subversion</h2>
<p><a href="http://sourceforge.net/svn/?group_id=121894">Sourceforge </a>gives a short introduction how you can access the Subversion repository of the JEDI project.</p>
<p>The download packages (from Sourceforge) contain Subversion information so you can use your subversion tool to just update them. (Tortoisesvn: Right click the JWSCL folder and choose Subversion Update)</p>
<p>To get the latest release updates you can use this path with your Subversion client. Be aware that new versions (currently 0.9.3) can make this path obsolete (but still valid). The downloadable release packages are already provided with Subversion information so you can just update them to get the newest updates.<br />
 Click on the turtle to checkout the repository with TortoiseSVN.</p>
<table border="0">
<tbody>
<tr>
<td><a href="tsvn:https://jedi-apilib.svn.sourceforge.net/svnroot/jedi-apilib/jwscl/branches/0.9.3"><img class="size-full wp-image-387 alignnone" title="tortoisecheckout" src="http://blog.delphi-jedi.net/wp-content/uploads/2007/12/tortoisecheckout.png" alt="Checkout with TortoiseSVN" width="48" height="48" /></a></td>
<td>https://jedi-apilib.svn.sourceforge.net/svnroot/jedi-apilib/jwscl/branches/0.9.3</td>
</tr>
</tbody>
</table>
<p>There is also a development branch that contains new untested features. Use it with care:</p>
<table border="0">
<tbody>
<tr>
<td><a href="tsvn:https://jedi-apilib.svn.sourceforge.net/svnroot/jedi-apilib/jwscl/trunk"><img class="size-full wp-image-387 alignnone" title="tortoisecheckout" src="http://blog.delphi-jedi.net/wp-content/uploads/2007/12/tortoisecheckout.png" alt="Checkout with TortoiseSVN" width="48" height="48" /></a></td>
<td>https://jedi-apilib.svn.sourceforge.net/svnroot/jedi-apilib/jwscl/trunk</td>
</tr>
</tbody>
</table>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.delphi-jedi.net/2008/03/03/how-to-setup-jwscl/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How to setup the library</title>
		<link>http://blog.delphi-jedi.net/2007/12/27/how-to-setup-the-library/</link>
		<comments>http://blog.delphi-jedi.net/2007/12/27/how-to-setup-the-library/#comments</comments>
		<pubDate>Thu, 27 Dec 2007 17:14:37 +0000</pubDate>
		<dc:creator>Christian Wimmer</dc:creator>
				<category><![CDATA[JEDI Windows API Headers]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[JWA]]></category>
		<category><![CDATA[Setup]]></category>

		<guid isPermaLink="false">http://blog.delphi-jedi.net/2007/12/27/how-to-setup-the-library/</guid>
		<description><![CDATA[The JEDI API library provides you two ways of using it. Either you can use all the single units like JwaWinUser.pas and JwaWinTypes.pas or you can use just one unit that includes all these single units. It is called JwaWindows.pas. The 1. Single units use: Single units are included into your project by adding the [...]]]></description>
			<content:encoded><![CDATA[<p>The JEDI API library provides you two ways of using it. Either you can use all the single units like JwaWinUser.pas and JwaWinTypes.pas or you can use just one unit that includes all these single units. It is called JwaWindows.pas. The</p>
<p><span style="text-decoration: underline;">1. Single units use:<br />
 </span>Single units are included into your project by adding the JEDI API source folder to your Delphi search path. Then you can use the units like</p>
<div class="dean_ch" style="white-space: wrap;"><span class="kw1">uses</span><br />
&nbsp; &nbsp;JwaWinUser,<br />
&nbsp; &nbsp;JwaWinTypes,<br />
&nbsp; &nbsp;&#8230;.<br />
&nbsp;</div>
<p>Be aware that some JEDI API examples use the single units approach. So if you want to compile them you have to add the folders to Delphi source path.<br />
 However, it is possible to use it in combination with the JwaWindows.dcu approach.</p>
<p>Add these folders to your Delphi source path (located in the JWA folder)</p>
<ul>
<li>\Common and</li>
<li>\Win32API .</li>
<li>\COM</li>
</ul>
<p>Thats all.</p>
<p>We suggest to add these paths to your global source path of Delphi. To do so open the options dialog of Delphi (menu Tools -&gt; Options) and navigate to the tab Library or Library Win32 (in newer Delphi). <br />
 There you add the three folders to the library path edit. Of course, you need to add absolute paths here like shown in example.</p>
<h3>Example</h3>
<p>So you saved the download &#8220;<em>JEDI API 2.3 and JEDI WSCL 0.9.3.zip</em>&#8220;  in this location</p>
<p><pre>C:\Program Files\JEDI\</pre></p>
<p>The zip file contains two projects located in folder <em>jwa</em> and <em>jwscl</em>. So you need to find the folders above by following the directory structure to :</p>
<p><pre>C:\Program Files\JEDI\jwa\branches\2.3</pre></p>
<p>In this folder you&#8217;ll find the folders <em>Common</em>, <em>Win32API </em>and <em>COM</em> that you need to add to your Delphi source path.<br />
(You must not add qotation marks (&#8220;) since the space in <em>Program Files</em> is not a separator.)</p>
<p><br class="spacer_" /></p>
<p><span style="text-decoration: underline;">2. JwaWindows.pas (also for the use with <a href="http://blog.delphi-jedi.net/security-library/">JWSCL</a>)<br />
 </span></p>
<p>There is also the possibility to use only one file that includes all other Jedi API headers. It is called <em>JwaWindows.pas</em>.</p>
<div class="dean_ch" style="white-space: wrap;"><span class="kw1">uses</span> SysUtils, JwaWindows;</div>
<p>Do not mix up the Jwa units like this:</p>
<div class="dean_ch" style="white-space: wrap;"><span class="kw1">uses</span> SysUtils, JwaWindows, JwaWinNT;</div>
<p>It is possible to do so but in this way you will create duplicate and incompatible identifiers which will also collide with JWSCL.</p>
<p>We also suggest that you compile the file at first and then use the <strong>binary dcu</strong> file instead of the source directly. So you should add the location of JwaWindows.dcu to your Delphi source path to avoid rebuilding the file everytime you rebuild your project.</p>
<p>So again:<br />
 There are packages in the <strong>jwapi\Packages</strong> folder for the different Delphi versions. If not just use an older package version. That should suffice.</p>
<p>You can load the project group for your Delphi version and compile the different package types :</p>
<ol>
<li>static debug = for static linked functions and debugger information and no optimization</li>
<li>static release = for static linked functions and optimization</li>
<li>dynamic debug = for dynamic linked functions and debugger information and no optimization (<strong>recommended for using with JWSCL</strong> for debugging)</li>
<li>dynamic release = for dynamic linked functions and optimization (<strong>recommended for using with JWSCL</strong> in releases)</li>
</ol>
<p>The project group contains all four package types and are predefined to save the output in different folders.</p>
<p>After a successful compilation, copy the folder or point the compiler path to the directory of your choice e.g. \jwapi\trunk\Packages\d7\bin\debug\dynamic . Now your Delphi will use the dcu files instead of the source files.<br />
 The packages contains JwaWindows AND jwaVista. Both units must be included in a uses clause. JwaWindows does <span style="text-decoration: underline;">not</span> contain jwaVista!</p>
<p><strong>The JEDI Windows Security Code Library uses the second choice (</strong>JwaWindows.pas and JwaVista.pas<strong> (JwaVista is deprecated in future versions)) only. See <a title="Go to blog entry." href="http://blog.delphi-jedi.net/2008/03/03/how-to-setup-jwscl/">here</a> how to setup JWSCL. Furthermore </strong><strong>it is recommended to use any of the <span style="text-decoration: underline;">dynamic</span> linking packages for JWSCL.<br />
 </strong></p>
<h2>Subversion</h2>
<p><a href="http://sourceforge.net/svn/?group_id=121894">Sourceforge </a>gives a short introduction how you can access the Subversion repository of the JEDI project.</p>
<p>The download packages (from Sourceforge) contain Subversion information so you can use your subversion tool to just update them. (Tortoisesvn: Right click the JWA folder and choose Subversion Update)</p>
<p>To get the latest release updates directly you can use this path with your Subversion client. Be aware that new versions (currently 2.2a) can make this path obsolete (but still valid). The downloadable release packages are already provided with Subversion information so you can just update them to get the newest updates.<br />
 Click on the turtle to checkout the repository with TortoiseSVN.</p>
<table border="0">
<tbody>
<tr>
<td><a href="tsvn:https://jedi-apilib.svn.sourceforge.net/svnroot/jedi-apilib/jwapi/branches/2.3"><img class="size-full wp-image-387 alignnone" title="tortoisecheckout" src="http://blog.delphi-jedi.net/wp-content/uploads/2007/12/tortoisecheckout.png" alt="Checkout with TortoiseSVN" width="48" height="48" /></a></td>
<td>https://jedi-apilib.svn.sourceforge.net/svnroot/jedi-apilib/jwapi/branches/2.3</td>
</tr>
</tbody>
</table>
<p><a href="tsvn:https://jedi-apilib.svn.sourceforge.net/svnroot/jedi-apilib/jwapi/branches/2.2a"></a></p>
<p>There is also a development branch that contains new untested features. Use it with care:</p>
<table border="0">
<tbody>
<tr>
<td><a href="tsvn:https://jedi-apilib.svn.sourceforge.net/svnroot/jedi-apilib/jwapi"><img class="size-full wp-image-387 alignnone" title="tortoisecheckout" src="http://blog.delphi-jedi.net/wp-content/uploads/2007/12/tortoisecheckout.png" alt="Checkout with TortoiseSVN" width="48" height="48" /></a></td>
<td>https://jedi-apilib.svn.sourceforge.net/svnroot/jedi-apilib/jwapi</td>
</tr>
</tbody>
</table>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.delphi-jedi.net/2007/12/27/how-to-setup-the-library/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
