Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. COM .net question

COM .net question

Scheduled Pinned Locked Moved The Lounge
questioncsharpcomarchitecture
9 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    Lost User
    wrote on last edited by
    #1

    I have heard from several sources, both here and from guys I used to work with, that COM, per se, is not part of the new .net architecture. Is so, is there no component type technology available at all? If it is present, what is it? Stan Shannon

    C 1 Reply Last reply
    0
    • L Lost User

      I have heard from several sources, both here and from guys I used to work with, that COM, per se, is not part of the new .net architecture. Is so, is there no component type technology available at all? If it is present, what is it? Stan Shannon

      C Offline
      C Offline
      Chris Maunder
      wrote on last edited by
      #2

      Traditional COM (as in AddRef, Release, QueryInterface) is gone, replaced by .NET components that are a million times simpler. Check out Cross language inheritance in .NET. Writing a component in .NET is as simple as writing a class, and consuming these components just as simple. cheers, Chris Maunder

      L J 2 Replies Last reply
      0
      • C Chris Maunder

        Traditional COM (as in AddRef, Release, QueryInterface) is gone, replaced by .NET components that are a million times simpler. Check out Cross language inheritance in .NET. Writing a component in .NET is as simple as writing a class, and consuming these components just as simple. cheers, Chris Maunder

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #3

        As it should have always been. Thanks.

        1 Reply Last reply
        0
        • C Chris Maunder

          Traditional COM (as in AddRef, Release, QueryInterface) is gone, replaced by .NET components that are a million times simpler. Check out Cross language inheritance in .NET. Writing a component in .NET is as simple as writing a class, and consuming these components just as simple. cheers, Chris Maunder

          J Offline
          J Offline
          Jim A Johnson
          wrote on last edited by
          #4

          Wow, this is good to know! I guess I managed to outlast COM, without having to ever learn it. I knew it was to nutty a technology to last...

          C 1 Reply Last reply
          0
          • J Jim A Johnson

            Wow, this is good to know! I guess I managed to outlast COM, without having to ever learn it. I knew it was to nutty a technology to last...

            C Offline
            C Offline
            Chris Maunder
            wrote on last edited by
            #5

            That was pretty much my reaction too :) For more info, check out the article The .NET Framework and COM:

            One of the primary goals of the .NET Framework is to make COM development easier. One of the hardest things about COM development is simply dealing with the COM infrastructure. Consequently, to make COM development easier, the .NET Framework automates virtually all of what developers currently think of as “COM,” including reference-counting, interface description, and registration. It’s important to note that this doesn’t mean that .NET Framework components aren’t COM components. In fact, a COM developer using Visual Studio 6.0 could call a .NET Framework component and, to the developer, it would look like a COM component, complete with iUnknown data. Conversely, a .NET Framework developer using Visual Studio.NET would see a COM component as a .NET Framework component. There is a caveat to this relationship: COM developers must manually do many of the things that .NET Framework developers can rely on the runtime to automate for them. For example, the security of a COM component must be written manually, and its memory can’t be automatically managed, and, to install a COM component, entries must be placed in the Windows registry. For .NET Framework components, the runtime automates these features. Components are self-describing, for example, and can therefore be installed without registering them in the Windows registry.

            cheers, Chris Maunder

            L 1 Reply Last reply
            0
            • C Chris Maunder

              That was pretty much my reaction too :) For more info, check out the article The .NET Framework and COM:

              One of the primary goals of the .NET Framework is to make COM development easier. One of the hardest things about COM development is simply dealing with the COM infrastructure. Consequently, to make COM development easier, the .NET Framework automates virtually all of what developers currently think of as “COM,” including reference-counting, interface description, and registration. It’s important to note that this doesn’t mean that .NET Framework components aren’t COM components. In fact, a COM developer using Visual Studio 6.0 could call a .NET Framework component and, to the developer, it would look like a COM component, complete with iUnknown data. Conversely, a .NET Framework developer using Visual Studio.NET would see a COM component as a .NET Framework component. There is a caveat to this relationship: COM developers must manually do many of the things that .NET Framework developers can rely on the runtime to automate for them. For example, the security of a COM component must be written manually, and its memory can’t be automatically managed, and, to install a COM component, entries must be placed in the Windows registry. For .NET Framework components, the runtime automates these features. Components are self-describing, for example, and can therefore be installed without registering them in the Windows registry.

              cheers, Chris Maunder

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #6

              Sounds pretty damned incredible. Hope I get the chance to use it. Stan Shannon

              C M 2 Replies Last reply
              0
              • L Lost User

                Sounds pretty damned incredible. Hope I get the chance to use it. Stan Shannon

                C Offline
                C Offline
                Chris Maunder
                wrote on last edited by
                #7

                Hang on - is this a positive comment about .NET in the lounge? :eek: cheers, Chris Maunder

                L 1 Reply Last reply
                0
                • L Lost User

                  Sounds pretty damned incredible. Hope I get the chance to use it. Stan Shannon

                  M Offline
                  M Offline
                  Matthew Adams
                  wrote on last edited by
                  #8

                  COM is, however the ONLY route for interoperability between the managed (.NET) world and the unmanaged (unmanaged C++, VB6, Delphi etc. etc.) domain. About a year ago, we started designing more or less everything using COM simply to make it cheaper for us to take the .NET transition (notwithstanding the other benefits we have gained as a result). We are now in a position where we can ship a working system today. Tomorrow, we will have replaced some components with .NET ones, created brand new .NET features, fixed existing problems in the unmanaged code, and added new unmanaged features, and still be in a position to test and ship the end result as a seamless whole, with only a tiny amount of _necessary_ reworking (this is not to say that we haven't treated this as an opportunity to rethink and refactor!). .NET's component model is what COM would have been, had it been designed for the job COM ended up doing, and not an evolution of the old OLE technologies. It is indeed cool. :) Matthew Adams Development Manager Digital Healthcare Ltd

                  1 Reply Last reply
                  0
                  • C Chris Maunder

                    Hang on - is this a positive comment about .NET in the lounge? :eek: cheers, Chris Maunder

                    L Offline
                    L Offline
                    Lost User
                    wrote on last edited by
                    #9

                    Hell, how much worse can it be than what we already have?

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Categories
                    • Recent
                    • Tags
                    • Popular
                    • World
                    • Users
                    • Groups