Subject: | |
From: | |
Reply To: | |
Date: | Tue, 21 Oct 2008 08:26:46 -0700 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Hi All,
I have just began working on this project for converting our existing HP3000 Vplus screens to use Fujitsu Cobol on backend and use .Net for the forms.
What I plan to do is create routines to emulate the Vplus intrinsics. For example, I have this routine to display the form:
Private WithEvents _VFormFile As VplusBaseScreen.BaseFormMain
Public Function VshowForm(ByVal comArea As ComAreaDefinition) As Boolean
_VFormFile.LoadScreen(_CurrentScreen)
_VFormFile.Show()
End Function
Then, this routine would perform the Vreadfields which basically blocks execution of my application until _KeyEntered = True
Public Function VreadFields(ByVal comArea As ComAreaDefinition) As Boolean
_VFormFile.Focus()
_KeyEntered = False
Do Until _KeyEntered
System.Windows.Forms.Application.DoEvents()
Loop
End Function
Then, the form will raise events and set _KeyEntered = True when there is user interaction and the main process will catch those events like this:
Private Sub _VFormFile_LastKeyPressed(ByVal key As Integer) Handles _VFormFile.LastKeyPressed
_KeyEntered = True
RaiseEvent LastKeyPressed(key)
End Sub
The above routine just raises the event back to its caller.
This approach actually works but the Do Loop take 25% of the cpu.
Now I know this is the HP3000 listserv but I thought I would give it a shot since some may have tried to accomplish what I am trying to do.
So, my question is: Is there a better way to accomplish what I'm trying to do? Can/How would I place this on a different thread (if that's a way I should do it).
Thanks,
Dave Vorgang
Senior Programmer / Analyst
Medford School District - Information Technology
(541) 842-1021
mailto:[log in to unmask]<BLOCKED::mailto:[log in to unmask]>
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|
|
|