[prev in list] [next in list] [prev in thread] [next in thread]
List: twsocket
Subject: [twsocket] x64 adaptation
From: "Anton S." <ant_s () rambler ! ru>
Date: 2011-01-20 17:34:35
Message-ID: op.vpma3xpo0cp6fo () i519-sas-55
[Download RAW message or body]
I recently reviewed all my projects to be ready to x64 (replaced things like \
Integer(Pointer) ) and also checked code of some components I use. The main idea is \
not to cast pointers/handles to integer/cardinal as they may exceed 4 bytes on x64 \
systems. Emb-ro introduced two new types: Native(U)Int that will always have the same \
size as Handle/Pointer. So I believe the changes could be done right now. Here's what \
I found in ICS.
OverbyteIcsUtils.pas
1) if Integer(FHandle) >= 0 then // NativeInt() but not necessary as it's for old \
compilers
2) TIcsIntegerList.Get***, all Integer() casts
3) Cardinal(Pointer(Result)^) := Len;
4) if Cardinal(FHandle) = INVALID_HANDLE_VALUE then // (twice) to NativeUInt
OverbyteIcsWndControl.pas
1) KillTimer(FIcsWndControl.Handle, Cardinal(Integer(IntPtr(FHandleGC))));
2) if SetTimer(FIcsWndControl.Handle,
Cardinal(Integer(IntPtr(FHandleGC))), FInterval, nil) = 0 then \
begin 3) KillTimer(FIcsWndControl.Handle, Cardinal(Self));
4) if SetTimer(FIcsWndControl.Handle,
Cardinal(Self), FInterval, nil) = 0 then begin
There are other some Integer() stuff but inside IFDEF CLR sections and I have no idea \
on what things in x64 .Net are (and even if they differ from x32 at all).
--
Anton
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic