3D Canvas Community
3D Canvas Discussion Forums
Amabilis Announcements
3D Canvas 7.2 (3D Canvas .NET)|
Go
![]() |
New
![]() |
Find
![]() |
Notify
![]() |
Tools
![]() |
Reply
![]() |
|
|
Member |
Today I decided to start experimenting with converting 3D Canvas to Visual Studio 2005 (2008 isn't yet available). For those of you who don't know, Microsoft changed Visual Basic dramatically between Visual Studio 6 and Visual Studio 2005. This made upgrading 3D Canvas extremely difficult.
I started a conversion to Visual Studio 2005 a couple of years ago but abandoned it. The amount of changes required was overwhelming. I've been working on an upgrade plan as of late. I've decided to try to upgrade very gruadually. The plan is to convert "parts" of 3D Canvas to ActiveX controls and then host these controls in the new 3D Canvas. I will then gradually convert each of the controls to VS2005 one at a time as needed. Today I experimented with hosting a 3D Canvas Editport in .NET. I came across no problems at all. This is very promising, since that part of 3D Canvas would be very hard to convert. Assuming this approach works, I can create a VS2005 shell for 3D Canvas relatively quickly. Maybe as little as a month. Once I have that, I can expose a .NET API which will allow all operations and plug-ins to be converted to .NET before the main application is converted. The best part about this approach is that most of my source will be unchanged, which means I can retrofit fixes to 7.1 relatively easily. Also, since operations/plug-ins will be the last thing converted, I can continue to work on operations/plug-ins for 7.1, while developing for 7.2. |
||
|
|
Member |
Hi Richard,
I'm glad you found a way of implementing a gradual conversion of 3DC. I hope you can get rid of Vista UAC. Will it be possible to run 2 instances of 3DC? (this is not very important to have this but sometimes it's nice to be able to compare 2 versions of a model) |
|||
|
|
Member |
Probably the requirement for Vista UAC will be gone.
I can't say for certain about running two copies of 3DC. I actually do that ocassionally here while developing. (I can do that :-)) Can you post this in the "suggestions" folder. I need to be reminded to look at this. I won't remember otherwise. |
|||
|
|
Member |
I decided to start a bit early. I should be working on Rail Simulator exclusively, but I need a break.
I'm busy factoring out globals from my database handling. I don't typically use global variables much, but even the bit that I have makes it clear why they shouldn't be used in general. I have to laugh when I see some of the stuff I did. The best example of bad use of globals is some database functions relied on the "active object" and "active group" globals. In order to re-use the functions, I had to set the "active object" and "active group" and then released them afterwards. Very silly. This is a good procedure that I'm going through because even though initially it's going to result in bugs, eventually it will result in better stability and performance. |
|||
|
|
Member |
Of course, when I "started early", I managed to start with something really difficult. I made literally 100s of changes. Probably over 1000. Some where simple search/replace but certainly 100s were actual changes.
I'm about 5% of the way to a full conversion of 3D Canvas to .NET, and about 10% of the way to having a working partially converted version. So, with any luck I should have a partially converted version available in about three months, with the full converson arriving in about six months. From a user's perspective there will be no visible difference between the partialy and fully converted version. It will look like a Vista application. |
|||
|
|
Member |
Visual Studio 2008 apparently was released to manufacturing in November. It seems that it should be available now, or if not, soon.
I'm going to download the trial to see if it makes upgrading 3D Canvas to .NET any easier. If it doesn't then I may not bother with VS 2008 until a service pack comes out. |
|||
|
|
Member |
I downloaded both VS 2008 and VS 2008 Express. I haven't had a chance to try VS 2008 yet, but did try Express. There was no change in the upgrade function between 2005 and 2008 it seems. There's no benefit right now of my moving to 2008.
Interestingly, it looks like 3D Canvas could be entirely written in the free Express version. I'm not sure about installation though. That's probably where they get you. |
|||
|
|
Newcomer |
Richard,
One thing you have to be careful with is that VS 2008 does away with some features of CS 2005 in Visual Basic such as initialization of arrays in in a single statement. Best of luck to you on upgrading 3D Canvas. Looks good so far. Charles |
|||
|
|
Member |
Thanks Charles. I think things look promising.
I'm doing this very methodically and 7.1.1.3, the first phase of this, turned out pretty good considering the number of changes. I hate to make everyone "Guinea Pigs" as I trickle out beta after beta, but if I don't do it this way I could get overwhelmed with bug on top of bug causing all sorts of grief. There's also a real danger that if I try to do too much at once I'll get "blocked", which is why I threw away most of what I did last time. I made the mistake of "commenting stuff out" that didn't work last time. I also made the mistake of believing the upgrade wizard was telling me the truth about some things. It turns out that more than one third of what the wizard says are errors due to "com expression not supported" are actually not errors at all. |
|||
|
|
Member |
I thought it would be fun to post a "Conversion Status" every once in a while. This is the number of errors/design errors/warnings etc. reported by the Visual Studio 2007 Upgrader.
Date|Compile Errors|Design Errors|Warnings|Miscellaneous|Total 2007-06-26|1403|173|2006|14|3596 2008-01-07|1333|151|1669|13|3166 Hmmm... I can't quite figure out how to do a table. HTML doesn't seem to work. |
|||
|
|
Member |
Date|Compile Errors|Design Errors|Warnings|Miscellaneous|Total
2007-06-26|1403|173|2006|14|3596 2008-01-07|1333|151|1669|13|3166 2008-02-25|1244|150|1439|02|2835 I wouldn't say that I have made spectacular progress, but I am making progress. |
|||
|
|
Member |
Date|Compile Errors|Design Errors|Warnings|Miscellaneous|Total
2007-06-26|1403|173|2006|14|3596 2008-01-07|1333|151|1669|13|3166 2008-02-25|1244|150|1439|02|2835 2008-03-02|1175|132|0688|01|1996 I've done some experimenting and it looks like there are perhaps 500 to 1000 errors/warnings that are actually false errors/warnings. I don't think there's that much left for me to do before I take the plunge into the actual conversion. I'll be putting out one final Visual Basic 6 version of 3D Canvas which hopefully will include a few improvements to features, and hopefully not many new bugs. I'm changing 3D Canvas a lot, so new bugs are invetable unfortunately. |
|||
|
|
Member |
Date|Compile Errors|Design Errors|Warnings|Miscellaneous|Total
2007-06-26|1403|173|2006|14|3596 2008-01-07|1333|151|1669|13|3166 2008-02-25|1244|150|1439|02|2835 2008-03-02|1175|132|0688|01|1996 2008-03-09|0513|039|0365|00|0917 That's all the errors that I can fix in advance of converting to Visual Studio .NET. I have moved/re-wrote literally thousands of lines of code to get where I am. It's been beneficial generally, but way too much work. Microsoft really messed up on this one. I did a test compile with .NET and managed to get 3D Canvas to display it's splash screen. But that's all. There are fewer problems than indicated by the conversion program, but there are also many that it doesn't identify. It's going to be a lot of work. My next task is to get 3D Canvas working properly again. It runs currently, but none of the operations/plug-ins/scripts work. It's going to be a big job. It will take me at least a week. Then I can start putting out fixes etc. to current problems again. |
|||
|
|
Member |
Today I removed the last references to Direct3D from 3D Canvas. A while back I removed the last references to Microsoft Data Access Objects.
This gives me some freedom in the future to change Graphics APIs/Data storage without changing 3D Canvas itself in any way. It is just a matter of changing the underlying dll's. Not that is necessarily so simple, but at least it is reasonably organized and totally self contained now. |
|||
|
Member![]() |
So this means I can no longer fix my model outside of the program with a 3rd party database tool?
I mean, I'm not complaining... since it makes sense to get away from Data Access Objects. |
|||
|
Member![]() |
It's a programming thing - I think Richard means he's removed those references from the main 3Dcanvas.exe and split them into separate DLL's
It isolates functions making them easier to change and maintain in the future. |
|||
|
|
Member |
Yes, that's what it is about. It's just a programming thing.
I will be getting rid of DAO, but I'm not sure what I'll use instead. Maybe it will be ADO. I haven't investigated it at all yet. For the foreseeable future you'll be able to open up the database with Access. |
|||
|
|
Newcomer |
Richard,
I think eventually you'll find that .NET meshes with SQL to give you the most options for structuring and using data bases. I have been using Visual Studio 2005 VB & C# with SQL2005 and have upgraded to Visual Studio 2008 VB & C#. The change was seamless. SQL2008 is the Charles |
|||
|
|
Member |
I've had an absolutely horrible 3 weeks or so working on this version of 3D Canvas. I changed the plug-in/scripting interface dramatically and it has turned out that I actually have to re-write almost the entire interface. Not a lot of fun.
But, things are progressing. Just very slowly. |
|||
|
| Previous Topic | Next Topic | powered by eve community |
| Please Wait. Your request is being processed... |
|
3D Canvas Community
3D Canvas Discussion Forums
Amabilis Announcements
3D Canvas 7.2 (3D Canvas .NET)
