Visio automation

Started by AndyW, August 05, 2008, 01:20:06 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

What programming language are you using?

VBA
4 (23.5%)
VB6
1 (5.9%)
VBA & VB6
3 (17.6%)
VB.Net
2 (11.8%)
C#
6 (35.3%)
C++
0 (0%)
Delphi
1 (5.9%)

Total Members Voted: 17

AndyW

I have a Visio application, approx 80k lines of code split between VBA and VB6. It is a battle with ActiveX finding controls that can be used in both (or have source available to set fase initialisation/scripting for VBA). Should I be thinking of changing language? Performance is an issue so the fact that VBA/VB6 is in-process is also significant. Also, given there seems no easy upgrade route to VB.Net. Whats everyone out there using.
Live life with an open mind

Visio Guy

I use .NET - either VB or C#. The language features are so much more powerful, that it makes programming much more enjoyable (see: strongly typed collections for one...)

To get in-process, you have to create COM Add-ins. A lot of the stuff I do is more utility-oriented, so creating.NET exes isn't such a problem. There is a performance hit, but with utilities, the idea is: "it's better than doing it by hand!"

I also create apps that use the Visio ActiveX control, where Visio, in effect, sits inside your own form. This gets you back to good performance, and offers some really nice control over Visio.

VBA and VB6 translate to VB.NET fairly well, but I guess you'll have problems if you're using lots of custom controls. I can't say much about those.
For articles, tips and free content, see the Visio Guy Website at http://www.visguy.com
Get my Visio Book! Using Microsoft Visio 2010

Paul Herber

I'm possibly the only Delphi user here, I'm so suprised that it was included in the list! But Delphi can create Visio applications in several ways,
a. Using Graham Wideman's Visio framework for Delphi
b. Delphi has its own COM add-in stuff
c. Some versions of Delphi can create .NET applications.

a and b above give you native code applications which have a significant edge for any time-critical application, though for many applications the limiting factor will be the time taken internally by Visio. Certainly Delphi's object model is so much nicer to use than the abomination known as C++ (shudder).

Electronic and Electrical engineering, business and software stencils for Visio -

https://www.paulherber.co.uk/

AndyW

I included Delphi in the list as I came across it in Grahams book.

I'm not using many custom controls, the main one is IGrid (which by the way is an excellent grid control) but that also has a .Net version. I had considered using the Visio activeX drawing control, just the thought of changing to use that and .Net would be a big jump. I think thats part of the .Net problem, its not really provided an easy transition.
Live life with an open mind

aledlund

For development/sandbox I use VBA/Access/Visio almost exclusively. For production it's VB.Net/EnterpriseLibrary/Sql. The ups-and-downs. With a single user application (data and drawing on the same system) VB6 will execute in a third of the time that the same vb.net does. SQL server will execute in 40% of the time of Access. I agree with Chris that VB.Net is the platform of choice but there is a lot of baggage that comes with it. VSTO security put's it so far off the map that I don't bother and use the drawing control.
HTH your mileage may vary,
al