Hi,
When I add a VO Window, exported with VO XPorter, to my X# application, most of the time I get a run-time error "VO.WCError" like in this picture:
The window is added by choosing Add -> Existing Item and then I select the prg, the xsfrm and the rc file.
I can fix this error by choosing Build -> Clean Solution and then Build -> Rebuild Solution.
Because I have to import a lot of windows this is a bit annoying. It is my impression that it happens more often with version 2.20 than it happened with version 2.19.
Also, when I click "View Details" a QuickWatch windows appears with error XS0726 which is not very helpful.
Is there anything I can do so that I do not always get this run-time error?
Kees.
VO.WCError
Re: VO.WCError
Hi Kees,
Ouch, adding existing windows this way is really pushing it, those are meant to be "one" entity. Why are you doing it this way, had you previously excluded them from the project? Or are you moving them from one project to another? What is exactly the way you are working with them? Maybe we can offer a better alternative method of doing it..
Ouch, adding existing windows this way is really pushing it, those are meant to be "one" entity. Why are you doing it this way, had you previously excluded them from the project? Or are you moving them from one project to another? What is exactly the way you are working with them? Maybe we can offer a better alternative method of doing it..
Chris Pyrgas
XSharp Development Team
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu
Re: VO.WCError
Hi Chris,
Thank you for your reply. I have exported aef's from the VO-project, ran them through the VO XPorter, and then you get these 3 files for each window. I know of no other way to add these to the X# project than with Add -> Existing item. Code-only files are just prg's and adding these in the same manner never gives a problem. For menu's I import a prg, rc and xsmnu file and that goes well too. But the windows are giving this problem most of the time. After Clean and Rebuild everything works but I wish that would not be necessary. If there is a better way, please let me know!
Kees.
Thank you for your reply. I have exported aef's from the VO-project, ran them through the VO XPorter, and then you get these 3 files for each window. I know of no other way to add these to the X# project than with Add -> Existing item. Code-only files are just prg's and adding these in the same manner never gives a problem. For menu's I import a prg, rc and xsmnu file and that goes well too. But the windows are giving this problem most of the time. After Clean and Rebuild everything works but I wish that would not be necessary. If there is a better way, please let me know!
Kees.
Re: VO.WCError
Hi Kees,
VOXporter already adds those files as part of the VS project that it creates, why do you need to add them again?
VOXporter already adds those files as part of the VS project that it creates, why do you need to add them again?
Chris Pyrgas
XSharp Development Team
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu
Re: VO.WCError
Hi Chris,
The VO project consists of 11 modules, so 11 AEF's. Each of these AEF's when run through the VO XPorter, gives a Visual Studio solution. Apart from the fact that I don't know how to integrate 11 solutions into 1, I do not want that. The entire code generates millions of errors and warnings in X# and I want to import the code piece by piece so it is manageable. Most of it is already done this way. It is just that adding windows has always been a bit problematic and now with X# 2.20 it seems to have gotten even worse.
A related question. The VO XPorter also created Winforms versions of the windows. These are all together in one folder called "Windows.Forms" and it seems that each window consists of a prg, Designer.prg and prg.wed file. What would be the best way to replace an existing VO Window with the Winforms version? Maybe delete the VO Window and add these 3 files with Add -> Existing Item? I would like to improve the X# version by gradually replacing the VO Windows with Winforms one step at a time.
Kees.
The VO project consists of 11 modules, so 11 AEF's. Each of these AEF's when run through the VO XPorter, gives a Visual Studio solution. Apart from the fact that I don't know how to integrate 11 solutions into 1, I do not want that. The entire code generates millions of errors and warnings in X# and I want to import the code piece by piece so it is manageable. Most of it is already done this way. It is just that adding windows has always been a bit problematic and now with X# 2.20 it seems to have gotten even worse.
A related question. The VO XPorter also created Winforms versions of the windows. These are all together in one folder called "Windows.Forms" and it seems that each window consists of a prg, Designer.prg and prg.wed file. What would be the best way to replace an existing VO Window with the Winforms version? Maybe delete the VO Window and add these 3 files with Add -> Existing Item? I would like to improve the X# version by gradually replacing the VO Windows with Winforms one step at a time.
Kees.
Re: VO.WCError
Hi Kees,
I guess it's too late now, but you could just add the projects one by one in the main solution that you are working on. What you needed to do is to select Add Existing->Project and select the .xsproj file. Anyway, we will look into the vowindow add problem, maybe it can be improved a bit.
About converting VO windows to winforms, that actually involves rewriting their code, because winfroms uses different control names, properties, database system etc than the VO GUI. The windows generated by VOXporter only act as a starting point so at least you do not need to also visually design them from scratch. After you're fully done with the conversion, maybe you can look into changing windows gradually.
I guess it's too late now, but you could just add the projects one by one in the main solution that you are working on. What you needed to do is to select Add Existing->Project and select the .xsproj file. Anyway, we will look into the vowindow add problem, maybe it can be improved a bit.
About converting VO windows to winforms, that actually involves rewriting their code, because winfroms uses different control names, properties, database system etc than the VO GUI. The windows generated by VOXporter only act as a starting point so at least you do not need to also visually design them from scratch. After you're fully done with the conversion, maybe you can look into changing windows gradually.
Chris Pyrgas
XSharp Development Team
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu
Re: VO.WCError
Hi Chris,
Most of the projects would still contain too much code to import in one go I think. Also, the projects are all dependent on each other because the windows, the classes, inheritances and code are not placed together in a sensible way but scattered all over. The approach I took was to begin with the startup code and settings, then import based on functionality. So import all the code (spread out over several projects) required to perform a specific task of the application and make sure that works.
Kees.
Most of the projects would still contain too much code to import in one go I think. Also, the projects are all dependent on each other because the windows, the classes, inheritances and code are not placed together in a sensible way but scattered all over. The approach I took was to begin with the startup code and settings, then import based on functionality. So import all the code (spread out over several projects) required to perform a specific task of the application and make sure that works.
Kees.
Re: VO.WCError
Chris,
Just wondering, why is this way of adding "really pushing it" and what do you mean by that it should be one entity? The code for a window is always split in 3 files I think.
Kees.
Re: VO.WCError
Hi Kees,
It's like with Windows Forms, I haven't tried it to be honest, but I suspect even for c#, VS will have trouble if you try to add separately the window.prg, window.designer.prg and .resx file, which are meant to be created at once. Although maybe I should better try first before I speak..
I mean that those files are meant to be created all together at once, with internal interconnections to each other in the project system, when generating a new such window, or by VOXporter which also generates them as one thing. I am actually surprised it even works at all the way you are doing it, apparently Robert has added some special code to try to bind all together when you add them separately, but looks like this isn't working always perfectly.
It's like with Windows Forms, I haven't tried it to be honest, but I suspect even for c#, VS will have trouble if you try to add separately the window.prg, window.designer.prg and .resx file, which are meant to be created at once. Although maybe I should better try first before I speak..
Chris Pyrgas
XSharp Development Team
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu
Re: VO.WCError
Hi Chris,
They are all created together at once, that is why I add them all together at once I do not change any of the 3 components individually, I just add all 3 together (meaning I select them all 3 together in the Add -> Existing Item dialog).
Anyway, I found that doing a Clean Solution after adding usually prevents the VO.WCError coming up. So it is only a minor inconvenience.
Thanks for your comments!
Kees.
They are all created together at once, that is why I add them all together at once I do not change any of the 3 components individually, I just add all 3 together (meaning I select them all 3 together in the Add -> Existing Item dialog).
Anyway, I found that doing a Clean Solution after adding usually prevents the VO.WCError coming up. So it is only a minor inconvenience.
Thanks for your comments!
Kees.