berglo.blogg.se

Borland delphi for windows 10
Borland delphi for windows 10





  1. #Borland delphi for windows 10 manual#
  2. #Borland delphi for windows 10 code#
  3. #Borland delphi for windows 10 windows#

The current compiler implementation eliminates the need for using packed records this way, in most cases. Unused data fields were introduced to "pad things out" and make the needed data fields line up as needed.

#Borland delphi for windows 10 windows#

In previous versions of Delphi, packed records were used to ensure proper data alignment when calling external libraries and notably certain external Windows API functions that require record or struct parameters. Msg: UINT wParam: WPARAM lParam: LPARAM Result: LRESULT) All TWM.-records for the windows message handlers must use the correct Windows types for the fields:.Wrong: Message.Result := Integer(Self).Correct: Message.Result := LRESULT(Self).Correct: SetWindowLongPtr(hWnd, GWLP_WNDPROC, Wrong: SetWindowLong(hWnd, GWL_WNDPROC, Pointers that are assigned to the TMessage.Result field should use a type-cast to LRESULT instead of Integer/Longint.

borland delphi for windows 10

Pointers that are passed to SetWindowLongPtr should be type-casted to LONG_PTR and not to Integer/Longint.

  • Correct: SendMessage(hWnd, WM_SETTEXT, 0, Wrong: SendMessage(hWnd, WM_SETTEXT, 0, Replace SetWindowLong/GetWindowLog with SetWindowLongPtr/GetWindowLongPtr for GWLP_HINSTANCE, GWLP_ID, GWLP_USERDATA, GWLP_HWNDPARENT and GWLP_WNDPROC as they return pointers and handles.
  • If you pass pointers to SendMessage/PostMessage/TControl.Perform, the wParam and lParam parameters should be type-casted to the WPARAM/LPARAM type and not to Integer/Longint.
  • RAD Studio supports Intel x86 through SSE4.2 and AMD 3dNow, and for 圆4, Intel/AMD through SSE4.2.

    #Borland delphi for windows 10 code#

    See Using Conditional Defines for Cross-Platform Code in "Using Inline Assembly Code." If you want to compile the same code for different architectures, use conditional defines.

    #Borland delphi for windows 10 manual#

    You may also want to consult the processor manual for new instructions. Consider the architecture specifics, such as the size of pointers and aligning.

  • Porting assembly code from IA-32 to Intel 64 cannot be done by simply copying the code.
  • Replace assembly statements with either Pascal code or functions written completely in assembly.
  • Mixing of assembly statements with Pascal code is not supported in 64-bit applications.
  • borland delphi for windows 10

    If your application contains inline assembly (ASM) code, you need to examine the ASM code and make the following changes:

  • On the 32-bit Windows platform, the NativeInt size is still 4 bytes.
  • On the 64-bit Windows platform, the NativeInt size is now 8 bytes.
  • On the 64-bit Windows platform, integer remains 4 bytes.
  • Move(FSelection, FSelection, (FSelectionCount - Index - 1) * 4) įor more information about using pointers in a 64-bit Windows applications, see the MSDN article, Rules for Using Pointers. Move(FSelection, FSelection, (FSelectionCount - Index - 1) * SizeOf(Pointer)) You might need to make adjustments in your code.
  • If you increment pointers, be aware that the behavior of a 64-bit pointer might not be the same as the behavior of a 32-bit pointer.
  • SizeOf(Pointer)=SizeOf(Integer/Cardinal/Longint)
  • On the 64-bit Windows platform, a pointer is 8 bytes.
  • borland delphi for windows 10

    On the 32-bit Windows platform, a pointer is 4 bytes.The size of all pointers has changed, as follows:.You should review pointer operations in your code base.







    Borland delphi for windows 10