[Openroad-users] FW: BringtoFront issue on an OR frame

Mehta, Jay Jay.Mehta at wellington.co.uk
Thu Nov 23 22:25:21 EST 2006


Pat,
 
Your response has definitely shed more light on the issue and the reason
why these APIs are not working as expected. I'll attempt to incorporate
your suggestions - unfortunately, it requires the involvement of another
team and may not be as quick as I'd hoped. But a big help nevertheless.
 
Thanks,
Jay

-----Original Message-----
From: Eric Mischke [mailto:eric.mischke at pateric.com] 
Sent: 23 November 2006 00:36
To: 'International OpenROAD Users'
Subject: [Openroad-users] FW: BringtoFront issue on an OR frame


From: Pat Weinman [mailto:pat.weinman at pateric.com] 
Sent: Wednesday, November 22, 2006 4:34 PM
To: 'Eric Mischke'
Subject: FW: [Openroad-users] BringtoFront issue on an OR frame


Not sure if this made it to the mailing list.  Please forward...  

  _____  

From: Pat Weinman [mailto:pat.weinman at pateric.com] 
Sent: Wednesday, November 22, 2006 4:21 PM
To: 'openroad-users-bounces at peerlessit.com'
Subject: RE: [Openroad-users] BringtoFront issue on an OR frame


Hi Jay,
 

We were experiencing a similar problem between two OpenROAD applications
on the Windows platform (works okay on Unix clients with a simple
BringToFront).  It took a while and with support from Ingres Corp we
just came up with a solution today.
 
What was happening...the sending OR application would issue an external
event to the receiving OR application.  The receiving application would
then try the BringToFront method which didn't work.  
 
To fix the problem we used a combination of external events and Win32
calls (user32.dll) .  When the receiving application is started it sends
an external event to the sending application with the CurFrame.WidgetID
information.  The CurFrame.WidgetID is set after the frame is displayed
so we send the external event outside of the initialize block.  
 
Since the Sending application now knows the WidgetID of the receiving
application it can set the receiving application to the Foreground
window using the windows api 'SetForegroundWindow (&hwd)' where &hwd is
the receiving application's Curframe.WidgetID.  One important thing to
note is that when the SetForegroundWindow is issued from the sending
application it must be in the foreground.  Only the foreground process
can set a new foreground process.  
 
An excerpt from the sending application is shown below:
 
 
In Sending application create two 3gl Procedure components with Return
Value 'none'.  These appear to be case sensitive.
ShowWindow   < This is needed if the receiving application is iconified.

SetForegroundWindow  < This brings window to front.
 
Link 3gl components to c:\windows\system32\user32.dll by using the
'Browse' button or setting II_LIBU3GL to include
c:\windows\system32\user32.dll.
 
In the sending application issue the following two lines before sending
the external event to the receiving application:
CALLPROC ShowWindow(xxx, 1);
CALLPROC SetForegroundWindow(xxx)
 
where xxx is the CurFrame.WidgetID of the sending application.
 
 
This should bring the receiving application frame to the foreground.  
 
 -Pat

 
  _____  

From: openroad-users-bounces at peerlessit.com
[mailto:openroad-users-bounces at peerlessit.com] On Behalf Of Mehta, Jay
Sent: Tuesday, November 21, 2006 7:26 AM
To: openroad-users at peerlessit.com
Subject: [Openroad-users] BringtoFront issue on an OR frame



Hi all, 

We've been facing some issues with the BringtoFront functionality,
specifically in the context of an OR userevent that is indirectly
triggered by an action on a VB .Net form. The event is raised and
directed to the receiving OR frame by an intermediate agent, and the
code to then bring that frame to the front is executed as expected (all
this verified by running the application through the debugger). However,
the .Net form that originally triggered the whole sequence of events
still seems to sit on top of the receiving OR frame. We've even tried
using a 3GL call to the SetWindowPos function, to change the order of
the top-level window, but to no avail. 

Currently using OR 4.1/0302 (int.w32/00), Patch 9409 on Windows XP SP1.
Any help would be much appreciated. 

Thanks in advance, 
Jay 

_______________________________________________________

The information in this message is confidential and may be legally
privileged. It is intended solely for the addressee. Access to this
message by anyone else is unauthorised. If you are not the intended
recipient, any disclosure, copying, distribution or any action taken or
omitted to be taken in reliance on it, is prohibited and may be
unlawful. The registered office of Wellington Underwriting plc is 88
Leadenhall Street, London, UK EC3A 3BA.

Wellington Underwriting plc is listed on the London Stock Exchange.

Wellington Underwriting Agencies Limited is authorised and regulated by
the Financial Services Authority.

Wellington Syndicate Services Limited is an Appointed Representative of
Wellington Underwriting Agencies Limited.

_______________________________________________________

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://peerlessit.com/pipermail/openroad-users/attachments/20061123/f7f08295/attachment.html 


More information about the Openroad-users mailing list