Version 2.0 Problems - Missing Features from v1.7?

I am trying to replicate an application I created with EXEOP 1.7 but I have hit a brick wall as it seems some key features have disappeared in EXEOP 2.0.

Although I’m able to edit skins and assign control actions with the current skin editor I have not been able to find out how to get the controls to appear in the skin. EXEOP 1.7 had options in the Skin Properties tab for ‘Enable Roll Window Up button’ - How can I ensure that this important feature remains available?

Also the option to choose whether the application icon is shown in the title bar has gone. Is there still a way to remove or replace the icon on the title bar - (without changing the actual application icon)?

Any help to restore this functionality (without reverting back to v1.7) would be greatly appreciated.

I’m also looking for a way to toggle ’ Windows stay on top’ at runtime and not be stuck with one setting.

Some special features of the old skin engine don’t exist in the new skin engine used in EXO2, so we couldn’t offer them again. “Enable Roll Window Up button” doesn’t exist anymore for instance.
“Windows stay on top” can’t be modified at runtime, this flag is set when the window is created and can’t be modified later.

This is extremely disappointing to hear.

If anyone can think of any workarounds to any of these issues I’d be very interested.

I wonder, for example, if it would be possible to replace the title bar with a custom title bar that can still be used to drag the window around and have max, min and close buttons. And whether there is a way to access the Windows API from within an app.

Sure, you can access Windows APIs from the application through our HEScript engine.

I’ve tried calling all of the following functions from a procedures in UserMain but none are working:

_function SetWinZTop(hWnd: Pointer; HWND_TOP, x , y, x1, y1, SWP_NOSIZE): Integer; stdcall; _
external “user32.dll” name ‘SetWindowPos’;

procedure FloatTop;
_begin _
_SetWinZTop(0, 0, 0, 0, 0, 0, 1); _

… gives exception: ‘argument out of range’.


function TestMsgBox(hWnd: Pointer; lpText, lpCaption: String; uType: Cardinal): Integer; stdcall; external “user32.dll” name ‘MessageBoxW’;

called with:

procedure TestMessage;
_begin _
TstMsgBox(0, “A test message.”, “Your message is:”, MB_OK+MB_ICONINFORMATION);

… also gives exception: ‘argument out of range’.


Also calling the following procedure with a native function that used to work in v1.7 no longer works in v2;

procedure PosTopLeft;
_begin _
_ SetUIProp(“fview”, “Left”, “0”); _
_ SetUIProp(“fview”, “Top”, “0”); _

… nothing happens at all.


OS is Windows 10 Pro 64

Another difficulty I’ve encountered is figuring out how to add and remove MenuItems to/from the context menu. There doesn’t seem to be a way to do this in the UI editor nor any mention in the user manual.I’ve only been able to repurpose the existing items and can’t even change the names of these.

Also apparently lacking in the user manual is any detailed documentation about the range of possibilities that are supposed to be provided by the SetUIProp() function; assuming this function can be made to work at all in v2.

We are checking whether the DLL import management code is working properly.

Regarding SetUIProp, you have a working sample in the Chromium demo that ships with ExeOutput:
“Create User Interfaces and Interactions”.
We can’t list all properties that can be modified with SetUIProp for the simple reason that there are so many possibilities. In fact, all properties listed by the Properties Editor in the UI editor can be modified.