Greetings,
I have the need to use existing code in a .w in a GUI for .NET form. Basically, the window is called from a couple places and we are in the process of imbedding it using GUI for .NET. For the time being I'm going to need both of them to function as similar to each other as possible. My initial thought is to create a persistent .p and call into it for every trigger/event that occurs. The .cls and .p or .w, and .p will share (BIND) a temp-table of the widgets/controls on the window/form. The temp-table will be updated when the trigger/event fires, processes what it needs to in the .p and then the window/form will be updated when finished. The time frame that the .w will need to exist is in the "year(s)" range. Is there a better way of accomplishing this?
TIA
I have the need to use existing code in a .w in a GUI for .NET form.
Basically, the window is called from a couple places and we are in the
process of imbedding it using GUI for .NET. For the time being I'm going to
need both of them to function as similar to each other as possible. My
initial thought is to create a persistent .p and call into it for every
trigger/event that occurs. The .cls and .p or .w, and .p will share (BIND) a
temp-table of the widgets/controls on the window/form. The temp-table will
be updated when the trigger/event fires, processes what it needs to in the .p
and then the window/form will be updated when finished. The time frame that
the .w will need to exist is in the "year(s)" range. Is there a better way
of accomplishing this?
If you embed the .W in a WindowContainer (or MdiChildForm), do you even need to change any code at all? When you embed a .W, you're running the same code that's run when you run the .W.
I'd say that if you're creating a new Form, and you want that Form to access the logic that's in the .W you need to think about how to transform your application (and in that case, you might want to consider a rewrite), but if you just want the .W to live on for another year, then it's not clear to me from the above why you'd want to pull the code out.
You'll find more (better) responses if you post this on the OpenEdge/Gui for .Net forum
-- peter
I know the right answer is to transform our application so that the GUI side is nothing more than that. However, our current time frame does not allow it. We want to be able to use functionality available in .NET (i.e. toolbar, expandable group boxes, themes, etc.) but we are going about it in small increments and where demand is. We thought about embedding the window in a container but the amount of effort it would take to combine multiple windows and make them act as if they were one as well as act nice with .NET controls would be just as time consuming.
Looks like embedding of ABL windows into .NET forms has been made (just) for you.
It's easy to create simple results and I suggest to search this link http://communities.progress.com/pcom/docs/DOC-101562 for a recorded webex from a couple of months ago. The documentation is also pretty o.k. here. However to provide a bullet proof solution that really provides added value for the ABL application requires a broad knowledge about ABL widgets and dynamic access to .NET controls. Automating the toolbar and menu conversion, providing resizing functionality (you won't like embedding without resizing) and bring in additional .NET controls that may replace additional ABL widgets - mostly automated - is another story. Think of replacing a Progress browser with an UltraGrid etc.
As Peter suggested, the GUI for .NET forum is the right place to ask technical questions.
We have created a toolkit and a set of templates that support that process. We've helped a number of clients already during that process. Please contact me offline if you're interested in a demo.
Hi Mike,
I tried to look up the WinKit example on how to embed .w to .net forms, the link is broken. Is WinKit still available?
Thanks
I tried to look up the WinKit example on how to embed .w to .net forms, the link is broken. Is WinKit still available?
Hi Kevin, yes the WinKit is still available, adopted around 20 times so far.
http://www.consultingwerk.de/winkit/
And in the meantime we have released the basic functionality as a free version:
http://www.consultingwerk.de/winkitle/
Let me know, if you have additional questions.