Delphi XE2

F-IN-BOX for Delphi / Builder C++ / VCL
Pete
Posts: 16
Joined: Fri Sep 30, 2005 10:54 am

Delphi XE2

Postby Pete » Wed Jun 27, 2012 3:09 pm

Ive just upgraded from d2009 to XE2 and am trying to rebuild the package FlashPlayerControl in XE2. I have the source code for v3.4.
I get the following errors:
[DCC Error] FlashPlayerControl.pas(366): E2291 Missing implementation of interface method ISimpleFrameSite.PreMessageFilter

[DCC Error] FlashPlayerControl.pas(366): E2291 Missing implementation of interface method ISimpleFrameSite.PostMessageFilter

Any suggestions as to what I can change to fix this?

Pete

Pete
Posts: 16
Joined: Fri Sep 30, 2005 10:54 am

Postby Pete » Wed Jun 27, 2012 3:47 pm

OK - I've fixed the problem. In winapi.activeX the interface is defined as:

{ ISimpleFrameSite interface }

{$EXTERNALSYM ISimpleFrameSite}
{$HPPEMIT 'DECLARE_DINTERFACE_TYPE(ISimpleFrameSite)' }
ISimpleFrameSite = interface
['{742B0E01-14E6-101B-914E-00AA00300CAB}']
function PreMessageFilter(wnd: HWnd; msg, wp, lp: Integer;
out res: IntPtr; out Cookie: Longint): HResult;
stdcall;
function PostMessageFilter(wnd: HWnd; msg, wp, lp: Integer;
out res: IntPtr; Cookie: Longint): HResult;
stdcall;
end;

In FlashPlayerControl.pas the same interface is defined with out res: integer.
Just change this to IntPtr and it builds OK

Pete

Pete
Posts: 16
Joined: Fri Sep 30, 2005 10:54 am

Postby Pete » Wed Jun 27, 2012 5:40 pm

Just found one more thing. I had to replace WordBool with Boolean to get a program using the control to run

Pete

coolshadow
Posts: 67
Joined: Fri Oct 10, 2008 7:42 am

Postby coolshadow » Wed Jul 25, 2012 7:03 pm

Pete wrote:Just found one more thing. I had to replace WordBool with Boolean to get a program using the control to run

Pete


Yes, you got it. This is a bug of ide and runtime itself.

I mentioned this years ago


Return to “Delphi / Builder / VCL Edition”

Who is online

Users browsing this forum: No registered users and 16 guests