Recent

Author Topic: activex.pp OleTranslateAccelerator definition problem  (Read 1239 times)

440bx

  • Hero Member
  • *****
  • Posts: 5822
activex.pp OleTranslateAccelerator definition problem
« on: July 10, 2025, 10:36:24 am »
Hello,

In activex.pp, OleTranslateAccelerator is defined as:
Code: Pascal  [Select][+][-]
  1.   function OleTranslateAccelerator(lpFrame:IOleInPlaceFrame; lpFrameInfo:TOleInPlaceFrameInfo; lpmsg:LPMSG):WINOLEAPI;stdcall;external 'ole32.dll' name 'OleTranslateAccelerator';
  2.  
Note the definition of the second parameter:
Code: Pascal  [Select][+][-]
  1.   lpFrameInfo:TOleInPlaceFrameInfo;
  2.  
That parameter should be a pointer to a TOleInPlaceFrameInfo not a TOleInPlaceFrameInfo

The C definition is:
Code: C  [Select][+][-]
  1. HRESULT OleTranslateAccelerator(
  2.   [in] LPOLEINPLACEFRAME     lpFrame,
  3.   [in] LPOLEINPLACEFRAMEINFO lpFrameInfo,
  4.   [in] LPMSG                 lpmsg
  5. );
  6.  
Showing that the second parameter is a pointer to an OLEINPLACEFRAMEINFO

HTH.
FPC v3.2.2 and Lazarus v4.0rc3 on Windows 7 SP1 64bit.

ASerge

  • Hero Member
  • *****
  • Posts: 2466
Re: activex.pp OleTranslateAccelerator definition problem
« Reply #1 on: July 10, 2025, 08:10:00 pm »
In Delphi 7 is defined as:
Code: Pascal  [Select][+][-]
  1. function OleTranslateAccelerator(frame: IOleInPlaceFrame;
  2.   var frameInfo: TOleInPlaceFrameInfo; msg: PMsg): HResult; stdcall;

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12537
  • FPC developer.

 

TinyPortal © 2005-2018