Create Parm in window event (OpenInsight 32-Bit)
At 03 JUN 2004 01:35:00PM Larry Deibel wrote:
OK, I'm new to OI. Have been trying to use the product since
the beginning, yes version 1.0. Now trying to develop using 4.1.3. Have 7.01 but not installed.
That said, I have a window with an edit line where I want to press F1
to display a "related" window. It works, except I can't figure
out how to dynamically have the "createparm" set to the contents of
the edit line. @SELF and @FOCUS work but don't give me the correct data.
"HELP" has been no help. Yes I have found where it says it is available but does not say how to set it. HELP!
At 03 JUN 2004 01:48PM [email protected] wrote:
You'd need to GET_PROPERTY the contents of the EDITLINE and feed them into the call to the associated window. So some code required. Interesting idea for an easy mod though @DEFPROP to pass in the DEFPROP for the current control.
The Sprezzatura Group Web Site
World Leaders in all things RevSoft
At 03 JUN 2004 02:31PM Bob Carten wrote:
@DEFPROP? Nice idea.
Larry,
Since you are already writing code in the create event of the called window, how about using '@FOCUS' in the quick event of the caller, then use something like
id=Get_Property(CreateParam, 'DEFPROP')
in the called window
Bob
At 03 JUN 2004 06:43PM Larry Deibel wrote:
You will have to excuse me but @DEFPROP does not compute.
Maybe I didn't correctly explain what I am doing. When on the
"COURT" edit line the user will press F1 to bring up the COURT window. And it works.
In development mode I dbl click on the COURT edit line. In "EVENTS" I select HELP then START A WINDOW. In "Parameters: it has
'CreateParam','@WINDOW'. If I replace 'CreateParam' with the court code everything works GREAT! But I have 181 courts. How do I dynamically get the contents of the edit line to pass to the courts window?
You will have to excuse my ignorance but I spend 12 hours a day doing AREV programming (Serial #600) and am trying to convert several apps over to OI so I don't get into OI real deep, but am trying. Every time I get into "Cell Hell" I turn OI off for six months or more. But I am back at it again.
As to code. I have thousands of lines of code in AREV so that is not a problem. But you have to admit, OI is different!
At 03 JUN 2004 06:45PM Larry Deibel wrote:
I ain't writing no code in the called window.
At 03 JUN 2004 08:10PM [email protected] wrote:
Larry,
possibly your best bet is to use script instead of quick event.
1) be sure you have a menu item which sends HELP to the editline
2) in window 1 (parent window) shift-dclick the editline you are using select 'help' from the drop down for the event
3) in the script enter
declare function get_property
declare function start_window
data=get_property(ctrlentid, '@DEFPROP')
windowname=start_window('windowyouarecalling', @window, data, '',1)
save this off
in the 'called' window try this
1) shift-dclick the window.
2) select the create event
3) enter the following code
declare function msg
rtn=msg(@window, createparam)
4) save
then try it .. it will work.
[email protected] onmouseover=window.status=the new revelation technology .. a refreshing change from the dark side;return(true)"
David Tod Sigafoos
SigSolutions, Inc.
At 03 JUN 2004 08:13PM [email protected] wrote:
oops .. for got to mention us @DEFPROP only if it is a bound form. use TEXT if it is not a bound form
[email protected] onmouseover=window.status=the new revelation technology .. a refreshing change from the dark side;return(true)"
David Tod Sigafoos
SigSolutions, Inc.
At 04 JUN 2004 01:05AM [url=http://www.sprezzatura.com]The Sprezzatura Group[/url] wrote:
And use DEFPROP - @DEFPROP is a "wished for" featureā¦
![]()
World Leaders in all things RevSoft
At 04 JUN 2004 02:31AM Donald Bakke wrote:
oops .. for got to mention us @DEFPROP only if it is a bound form. use TEXT if it is not a bound form
Other than perhaps for self-documentation reasons, why not always use DEFPROP? It works just as well for non-databound controls.
At 04 JUN 2004 11:13AM Larry Deibel wrote:
Thanks to all. I have decided that this idea is not going to
work, nice idea for what I am trying to do but it won't work. Sure would like DblClk to work with edit line but that won't work either.
Will do something else. Arev calleth, hopefully back in a month or so.
At 04 JUN 2004 02:37PM Bob Carten wrote:
Larry
Double click is doable.
1. Make yourself a window. Name it 'APPLICATION_EVENTS'
In the WinMsg Event of that window, place the following:
Equ True$ TO 1
equ wm_ldblclk$ to 0x203
test=wm_ldblclk$
begin case
Case Message=wm_ldblclk$Call Send_Event(CtrlEntId, 'OPTIONS')end case
RETURN 0
2. Compile the following program
Subroutine setup_dblClck(CtrlEntId)
/* Qualify the double-click event for editlines on the window
*/
Declare Function Send_Message, Get_Property
Declare Subroutine Set_Property
Equ True$ To 1
Equ wm_ldblck To '0x203'
Win_Name=CtrlEntId1,'.'
CtrlMap=Get_Property(Win_Name, 'CTRLMAP')
col='
Loop
Remove ctrl From ctrlmap at col setting markIf Len(ctrl) Thentype=Get_Property(Ctrl, 'TYPE')if type=EDITFIELD' Then
Double-click is the same as options
Forward it to the window, the window can forward it to the control
qualifier=True$ : @fm:2: "*": @appid: "*WINMSG*": Win_Name:'.'qualifier=True$ : @fm:2: "*": @appid: "*WINMSG*": 'APPLICATION_EVENTS':'.'call Send_Message( Ctrl, 'QUALIFY_EVENT',wm_ldblck, qualifier )EndEndWhile mark
repeat
return
3. On the Create event of your window, put a quickevent to call a stored procedure, choose MYAPP*STPROCEXESETUP_DBLCLK, pass '@SELF' as a param you should now have doubleclick=options on your window Note: This example gets you double click, but nothing else. If you want to accomplish more than one thing in an event you will need to write some code. Using a program with the same name as the window, then calling that program via quickevents is a good way to go. This is essentially the same as the Arev 'Commuter Module'. In oi 7.0 there is a program called obj_call_event. If you always use it in quickevents then your events will route to your commuter module. action:call stored procedure entity:appid*STPROCEXEOBJ_CALL_EVENT
message:EXECUTE
params: '@SELF','@EVENT','@PARAM1','@PARAM2','@PARAM3','@PARAM4','@PARAM5','@PARAM6'
Two more thoughts:
1. Quick events won't always do it for you, and you still need to touch each control to tell it you want that event. There is a topic called 'promoted events', which can automatically fire events for you. Using these you can implement an event framework which gives you a very robust environment with little code to add to each window. Several OI shops could help you with promoted events. SRP Solutions and Sprezzatura are two of them. Search this site for 'promoted events' to get more info.
2. Think about having table level commuter modules as well as window level commuter modules. That is, there are data 'events' too, which should be handled the same way no matter what window calls them. If you separate your table level events from your window level events then you will be able to put forms on the web or into JOI or exchange data via a web service without losing the business logic. In moving from Arev to OI you have to separate the window rules from the data rules anyway, so you have a great opportunity to split the tiers.
HTH
Bob
At 05 JUN 2004 10:40AM [email protected] wrote:
Oh sure .. always SRP and Sprezz .. SigSolutions comes first alphabetically
[email protected] onmouseover=window.status=the new revelation technology .. a refreshing change;return(true)"
David Tod Sigafoos ~ SigSolutions
At 07 JUN 2004 10:35AM Bob Carten wrote:
Sorry Dave.
Seriously,
I wanted to provide a hook to the topic of promoted events, which I think are a part of the very cool event model OI offers. The closest thing I have seen to promoted events is something called 'html behaviors' that Microsoft tried out a few years ago. I named the folks who I am aware of as having worked to make the topic of promoted events accessible to new users. As my wife would be happy to tell you, I am a deeply flawed person who never has all the facts on anything. My apologies to you and any of the many other promoted event experts in the community whose names I did not mention.
Bob
At 07 JUN 2004 11:47AM [email protected] wrote:
I sure hope you know how badly you hurt me i had to have a lay down
PEs are cool .. not as cool as mfs and bfs but they are cool
[email protected] onmouseover=window.status=the new revelation technology .. a refreshing change;return(true)"
David Tod Sigafoos ~ SigSolutions