- Yakov Werde
- PowerBuilder
- Monday, 27 March 2017 02:53 PM UTC
With reference to modifications needed for 64 bit compatibility (long to longptr or longlong)
There are window pointer types and handles. Both refer to objects in memory.
https://msdn.microsoft.com/en-us/library/windows/desktop/aa383751(v=vs.85).aspx
Most of the pointer-type names begin with a prefix of P or LP. Handles refer to a resource that has been loaded into memory.
There are HWND types: Pointers to windows
For example
HWND WINAPI FindWindow(
_In_opt_ LPCTSTR lpClassName,
_In_opt_ LPCTSTR lpWindowName
);
OR
HWND WINAPI GetForegroundWindow(void);
I'd define this in PB as
Function longlong GetForegroundWindow() Library "user32.dll" //returns Hwnd
or LongPtr GetForegroundWIndow.....
https://en.wikibooks.org/wiki/Windows_Programming/Handles_and_Data_Types
BOOL WINAPI FindClose(
_Inout_ HANDLE hFindFile
);
This type is declared in WinNT.h as typedef PVOID HANDLE;
Is defined in PB as
Function boolean FindClose (long handle) library "KERNEL32.DLL" //parm HANDLE
Does this need to change to LongLong handle?
Specifically, do we only need to refactor HWND types to LongPtr (LongLong) or also Handle Types
Thanks for sharing your knowledge
Find Questions by Tag
Helpful?
If a reply or comment is helpful for you, please don’t hesitate to click the Helpful button. This action is further confirmation of their invaluable contribution to the Appeon Community.