<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body>
<p>Hi Tomas,</p>
<p> </p>
<p>Thanks for clarifying. I will use PtrUInt to store the pointer address in. BTW: the documentation it says not to use PtrInt because it's signed and therefore smaller than a pointer (as in max value).</p>
<p> </p>
<p>Also there seems to be an error in the documentation. On <a href="http://www.freepascal.org/docs-html/rtl/system/ptruint.html">http://www.freepascal.org/docs-html/rtl/system/ptruint.html</a> it is described that PtrUInt is an alias to DWord. However, it depends on the architecture which type it actually is. Could someone please correct the docs?</p>
<p> </p>
<p>TIA</p>
<p> </p>
<p>Regards, Darius</p>
<p> </p>
<p> </p>
<p>On 1 okt '12, Tomas Hajny wrote:</p>
<blockquote type="cite" style="padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px; width:100%"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<pre>On Mon, October 1, 2012 10:43, <a href="mailto:dhkblaszyk@zeelandnet.nl">dhkblaszyk@zeelandnet.nl</a>wrote:


Hi,</pre>
<blockquote type="cite" style="padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px; width:100%">I want to ask if casting an integer to a pointer is valid over all platforms. See below: p: PInteger; v: longint; [...] v := 4235423; p := PInteger(v); Of course, the value of the pointer adress may vary, but in general is this a valid way to assign a pointer? Or will some platforms or architecture give problems?</blockquote>
<pre>Use PtrInt (signed) or PtrUInt (unsigned) types instead of longint, etc.
The former two are guaranteed to work for all architectures and platforms.
Your particular example fails on all 64-bit architectures (among others)
immediately.

Tomas


_______________________________________________
fpc-pascal maillist  -  <a href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.org</a>
<a href="http://lists.freepascal.org/mailman/listinfo/fpc-pascal">http://lists.freepascal.org/mailman/listinfo/fpc-pascal</a>
</pre>
</blockquote>
<p> </p>
<p> </p>
<div> </div>
</body></html>