Results 1 to 12 of 12

Thread: [RESOLVED] .NET Controls vs COM components in .NET environment

  1. #1

    Thread Starter
    PowerPoster
    Join Date
    Sep 2012
    Posts
    2,083

    Resolved [RESOLVED] .NET Controls vs COM components in .NET environment

    Farpoint Spread was once the best spread control in the world. Unfortunately, it was acquired by GrapeCity 10 years ago. After it was acquired 1, or 2 years later, the upgrade of Farpoint Spread was stopped. GrapeCity's current main spread product is Spread.Net, which is a much more powerful product than Farpoint Spread.

    Although .NET can still use COM components, it seems that few people do this. I'd like to know where the advantages of native .NET controls over COM components in .NET environment? Does the COM component have the potential to compete with .NET components in .NET environment?
    Last edited by dreammanor; Jun 18th, 2019 at 06:46 AM.

  2. #2
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,989

    Re: .NET Controls vs COM components in .NET environment

    What advantage would COM have? It wasn't the easiest thing to deal with even in VB6. I'm not sure on what grounds it could compete. Since they aren't easier to work with, they'd need an advantage in .NET that would outweigh the more fiddly nature. That would likely have to be some kind of greater utility or power, but what would that be? I'm not aware of any.

    Now, it may be that my memory of COM is inaccurate and that COM components are as readily used as a .NET control, which might just be bundled with a program with no installation necessary. In that case, I was wrong and COM is just as easy, but if so, then what advantage does COM have at that point?
    My usual boring signature: Nothing

  3. #3
    King of sapila
    Join Date
    Oct 2006
    Location
    Greece
    Posts
    6,597

    Re: .NET Controls vs COM components in .NET environment

    I'm not sure if c++ components fall into the "com" category.
    If that is the case then SOME com components are way to powerful for .net to handle or compare and they are just there to make you programming faster.
    If com does not fall into that category and is NOT + API calls then probably com components have not been simulated in a .net environment so they just need to be there.
    For example some old printers we are using, need to have com components added else there is just the standard printing .net components that do not work properly most of the times.
    ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
    πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσεν·

  4. #4

    Thread Starter
    PowerPoster
    Join Date
    Sep 2012
    Posts
    2,083

    Re: .NET Controls vs COM components in .NET environment

    In the .NET environment, differences in the versions of the .Net Framework can make development inconvenient.

    Maybe no version difference should be considered as an advantage of COM.

  5. #5

    Thread Starter
    PowerPoster
    Join Date
    Sep 2012
    Posts
    2,083

    Re: .NET Controls vs COM components in .NET environment

    In the .NET environment, differences in the versions of the .Net Framework can make development inconvenient.

    Maybe no version difference should be considered as an advantage of COM.

  6. #6
    Superbly Moderated NeedSomeAnswers's Avatar
    Join Date
    Jun 2002
    Location
    Manchester uk
    Posts
    2,660

    Re: [RESOLVED] .NET Controls vs COM components in .NET environment

    We use various Com components in one of our products at my work, when they started to migrate an application from VB6 to .Net and never finished.

    So here is what i know about using Com in .Net;

    1, Com components work fine, you can use them and so if you have a component which you have no equivalent in .net it can be a good option, also if you have a large component already written in VB6 which you would like to reuse in your .net application you can.

    2, There are very few if any components i have come across that there is no equivalent if not better version feature wise in .Net, and if you do have a .Net version i would always go for that, .Net components play nicer in the .Net environment that Com ones and they tend to be still supported.

    3, Com components which are NOT 3rd party are very painful to work with, if you have a VB6 project that is non static so you are still making changes to it and you are including that in your .Net project, then think again !!! it is probably one of the worst things you can do, its slow and difficult to work with and can cause you all sorts of problems around versioning of com components at build time.

    I have re-written a few smaller VB6 components off my own back at work just so i dont have to go through this pain
    Last edited by NeedSomeAnswers; Jun 19th, 2019 at 07:58 AM. Reason: spelling
    Please Mark your Thread "Resolved", if the query is solved & Rate those who have helped you



  7. #7
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,989

    Re: .NET Controls vs COM components in .NET environment

    Quote Originally Posted by dreammanor View Post
    In the .NET environment, differences in the versions of the .Net Framework can make development inconvenient.

    Maybe no version difference should be considered as an advantage of COM.
    Not anymore. Frankly, the framework differences were a MUCH bigger issue a decade back. Things were changing/advancing rapidly in those days. The difference between FW 1.x and 2 was HUGE. The difference between 2 and 3.5 was substantial. The difference between 3.5 and 4 was pretty significant. However, the differences since then have been pretty meager. Furthermore, with newer frameworks already installed in Win10, it is ceasing to be an issue. For example, I recently wrote a small program that was distributed to four surrounding states. All they had to do was copy the .exe onto their system and they could run it. I wasn't sure that would be possible, because...what about the framework? However, nobody had a problem with it, which means that the framework was already installed on all of their systems.

    This is really where everybody wanted to get to with .NET. It's the same point that VB6 has had: The framework is just there, so you don't need to think about it. When I was first distributing VB5/6 applications, one of the discs had the runtime. Once that was present on all OS, that runtime was no longer necessary. While .NET was changing radically every other year, that wasn't possible. Now that it's settling down, framework issues are going away. I don't feel TOTALLY confident that you can ignore the framework, these days, but we mostly can, and will be able to completely forget about it soon.
    My usual boring signature: Nothing

  8. #8

    Thread Starter
    PowerPoster
    Join Date
    Sep 2012
    Posts
    2,083

    Re: [RESOLVED] .NET Controls vs COM components in .NET environment

    Yes. Maybe I should consider using .NET controls instead of COM components and trying to make the .NET controls work in VB6.

  9. #9
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,989

    Re: [RESOLVED] .NET Controls vs COM components in .NET environment

    I'm not sure that would be so good. MS has generally been pretty good about keeping things backwards compatible, but not so good about forwards compatible. Using COM in .NET is something that happens. Using .NET in VB6 is not something I have heard much about. I would say that .NET in .NET and COM in VB6 would be best.
    My usual boring signature: Nothing

  10. #10
    Angel of Code Niya's Avatar
    Join Date
    Nov 2011
    Posts
    8,598

    Re: [RESOLVED] .NET Controls vs COM components in .NET environment

    There is zero reason to use a COM component in a .Net application if a .Net version exists. COM interop was provided for those cases where there is no .Net equivalent of a COM library. Also, large parts of the Windows OS are exposed through COM interfaces. GDI+ for example, which WinForms uses as it's native graphics library is a COM library. Every time you do an operation on a Bitmap object in .Net, you're actually working with COM under the hood.
    I must correct myself here. I was mistaken, GDI+ is not COM based. It is a class based with C++ interfaces, which I had confused in my head when I wrote that post. Nonetheless, the point still stands, Windows has quite a few COM based components. Accessing UPNP for your router or Windows Media Player are two instances I've dealt with personally through .Net that requires the use of COM.
    Last edited by Niya; Jun 30th, 2019 at 11:42 AM.
    Treeview with NodeAdded/NodesRemoved events | BlinkLabel control | Calculate Permutations | Object Enums | ComboBox with centered items | .Net Internals article(not mine) | Wizard Control | Understanding Multi-Threading | Simple file compression | Demon Arena

    Copy/move files using Windows Shell | I'm not wanted

    C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter

    There's just no reason to use garbage like InputBox. - jmcilhinney

    The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber

  11. #11
    Superbly Moderated NeedSomeAnswers's Avatar
    Join Date
    Jun 2002
    Location
    Manchester uk
    Posts
    2,660

    Re: [RESOLVED] .NET Controls vs COM components in .NET environment

    I'm not sure that would be so good. MS has generally been pretty good about keeping things backwards compatible, but not so good about forwards compatible. Using COM in .NET is something that happens. Using .NET in VB6 is not something I have heard much about. I would say that .NET in .NET and COM in VB6 would be best.
    Oh its possible i have seen it done in a project at my work, we have a project that is .NET that calls a VB6 component that has a .Net control in it ....

    ... it's horrible to work with though i would thoroughly un-recommend it !!
    Please Mark your Thread "Resolved", if the query is solved & Rate those who have helped you



  12. #12
    Bad man! ident's Avatar
    Join Date
    Mar 2009
    Location
    Cambridge
    Posts
    5,398

    Re: [RESOLVED] .NET Controls vs COM components in .NET environment

    Possible yes. But less to zero backwards compatibility. Can you explain more as quest interesting?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width