Amabilis Software    3D Canvas Community    3D Canvas Discussion Forums  Hop To Forum Categories  Amabilis Announcements    3D Canvas 7.2 (3D Canvas .NET)
Go
New
Find
Notify
Tools
Reply
  
-star Rating Rate It!  Login/Join 
Member
Picture of Amabilis Support
Posted
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.
 
Posts: 1412 | Registered: Thu November 06 2003Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of DOM107
Posted Hide Post
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)
 
Posts: 482 | Registered: Sat September 04 2004Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of Amabilis Support
Posted Hide Post
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.
 
Posts: 1412 | Registered: Thu November 06 2003Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of Amabilis Support
Posted Hide Post
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.
 
Posts: 1412 | Registered: Thu November 06 2003Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of Amabilis Support
Posted Hide Post
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.
 
Posts: 1412 | Registered: Thu November 06 2003Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of Amabilis Support
Posted Hide Post
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.
 
Posts: 1412 | Registered: Thu November 06 2003Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of Amabilis Support
Posted Hide Post
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.
 
Posts: 1412 | Registered: Thu November 06 2003Reply With QuoteEdit or Delete MessageReport This Post
Newcomer
Posted Hide Post
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
 
Posts: 41 | Registered: Fri November 07 2003Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of Amabilis Support
Posted Hide Post
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.
 
Posts: 1412 | Registered: Thu November 06 2003Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of Amabilis Support
Posted Hide Post
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.
 
Posts: 1412 | Registered: Thu November 06 2003Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of Amabilis Support
Posted Hide Post
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.
 
Posts: 1412 | Registered: Thu November 06 2003Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of Amabilis Support
Posted Hide Post
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.
 
Posts: 1412 | Registered: Thu November 06 2003Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of Amabilis Support
Posted Hide Post
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.
 
Posts: 1412 | Registered: Thu November 06 2003Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of Amabilis Support
Posted Hide Post
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.
 
Posts: 1412 | Registered: Thu November 06 2003Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of pwillard
Posted Hide Post
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.
 
Posts: 371 | Registered: Fri November 07 2003Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of Paul Gausden
Posted Hide Post
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.
 
Posts: 1039 | Location: Surrey, UK | Registered: Fri November 07 2003Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of Amabilis Support
Posted Hide Post
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.
 
Posts: 1412 | Registered: Thu November 06 2003Reply With QuoteEdit or Delete MessageReport This Post
Newcomer
Posted Hide Post
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
 
Posts: 41 | Registered: Fri November 07 2003Reply With QuoteEdit or Delete MessageReport This Post
Member
Picture of Amabilis Support
Posted Hide Post
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.
 
Posts: 1412 | Registered: Thu November 06 2003Reply With QuoteEdit or Delete MessageReport This Post
 Previous Topic | Next Topic powered by eve community  
 

Amabilis Software    3D Canvas Community    3D Canvas Discussion Forums  Hop To Forum Categories  Amabilis Announcements    3D Canvas 7.2 (3D Canvas .NET)

© Amabilis Software 2003-2007