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. Other Discussions
  3. Clever Code
  4. Subtle crashes [modified]

Subtle crashes [modified]

Scheduled Pinned Locked Moved Clever Code
question
12 Posts 10 Posters 35 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.
  • D dighn

    same interface, v-table entries got shifted, and clients weren't recompiled?

    R Offline
    R Offline
    Rama Krishna Vavilala
    wrote on last edited by
    #3

    Yes. I am glad that someone still remembers COM concepts:) While in .NET method and interface binding is via name for COM clients it's via vtable so all native clients which used COM interface crashed.

    P 1 Reply Last reply
    0
    • R Rama Krishna Vavilala

      Yes. I am glad that someone still remembers COM concepts:) While in .NET method and interface binding is via name for COM clients it's via vtable so all native clients which used COM interface crashed.

      P Offline
      P Offline
      PIEBALDconsult
      wrote on last edited by
      #4

      COM sucketh, don't use it.

      E S D 3 Replies Last reply
      0
      • P PIEBALDconsult

        COM sucketh, don't use it.

        E Offline
        E Offline
        Electron Shepherd
        wrote on last edited by
        #5

        PIEBALDconsult wrote:

        COM sucketh, don't use it.

        Or just follow the COM rules, one of which is "if you change the interface in any way, change it's UUID as well".

        Server and Network Monitoring

        1 Reply Last reply
        0
        • R Rama Krishna Vavilala

          Original code:

          [ComVisible(true)]
          [Guid(".....")]
          interface IDocument
          {
          public void Method1();

          public Property1 { get; }
          }

          Note:- a valid Guid was supplied. After some months:

          [ComVisible(true)]
          [Guid(".....")]
          interface IDocument
          {
          public Property1 { get; }

          public void Method1();
          }

          VSS Comments: Changed the member order to conform to coding standards. The second code breaks lot of existing clients. Can anyone tell me why?:)

          modified on Saturday, March 21, 2009 9:20 AM

          E Offline
          E Offline
          Ed Poore
          wrote on last edited by
          #6

          Rama Krishna Vavilala wrote:

          interfact

          Surprised it compiled at all...


          I doubt it. If it isn't intuitive then we need to fix it. - Chris Maunder

          R 1 Reply Last reply
          0
          • E Ed Poore

            Rama Krishna Vavilala wrote:

            interfact

            Surprised it compiled at all...


            I doubt it. If it isn't intuitive then we need to fix it. - Chris Maunder

            R Offline
            R Offline
            Rama Krishna Vavilala
            wrote on last edited by
            #7

            It's a new keyword in C# 4.0 ;)

            1 Reply Last reply
            0
            • P PIEBALDconsult

              COM sucketh, don't use it.

              S Offline
              S Offline
              Stephen Hewitt
              wrote on last edited by
              #8

              Large chunks on the OS are exposed using COM. For many jobs COM is the way to go, regardless of the language used. COM does not "sucketh".

              Steve

              G 1 Reply Last reply
              0
              • R Rama Krishna Vavilala

                Original code:

                [ComVisible(true)]
                [Guid(".....")]
                interface IDocument
                {
                public void Method1();

                public Property1 { get; }
                }

                Note:- a valid Guid was supplied. After some months:

                [ComVisible(true)]
                [Guid(".....")]
                interface IDocument
                {
                public Property1 { get; }

                public void Method1();
                }

                VSS Comments: Changed the member order to conform to coding standards. The second code breaks lot of existing clients. Can anyone tell me why?:)

                modified on Saturday, March 21, 2009 9:20 AM

                P Offline
                P Offline
                peterchen
                wrote on last edited by
                #9

                vtable binding. :doh:

                Don't attribute to stupidity what can be equally well explained by buerocracy.
                My latest article | Linkify!| FoldWithUs! | sighist

                1 Reply Last reply
                0
                • R Rama Krishna Vavilala

                  Original code:

                  [ComVisible(true)]
                  [Guid(".....")]
                  interface IDocument
                  {
                  public void Method1();

                  public Property1 { get; }
                  }

                  Note:- a valid Guid was supplied. After some months:

                  [ComVisible(true)]
                  [Guid(".....")]
                  interface IDocument
                  {
                  public Property1 { get; }

                  public void Method1();
                  }

                  VSS Comments: Changed the member order to conform to coding standards. The second code breaks lot of existing clients. Can anyone tell me why?:)

                  modified on Saturday, March 21, 2009 9:20 AM

                  L Offline
                  L Offline
                  Luc Pattyn
                  wrote on last edited by
                  #10

                  :confused:

                  Luc Pattyn [Forum Guidelines] [My Articles]


                  - before you ask a question here, search CodeProject, then Google - the quality and detail of your question reflects on the effectiveness of the help you are likely to get - use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets


                  1 Reply Last reply
                  0
                  • P PIEBALDconsult

                    COM sucketh, don't use it.

                    D Offline
                    D Offline
                    Dan Neely
                    wrote on last edited by
                    #11

                    Writing non trivial office plugins in VBA sucketh worse. COM is a much better alternative.

                    Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall

                    1 Reply Last reply
                    0
                    • S Stephen Hewitt

                      Large chunks on the OS are exposed using COM. For many jobs COM is the way to go, regardless of the language used. COM does not "sucketh".

                      Steve

                      G Offline
                      G Offline
                      Gary R Wheeler
                      wrote on last edited by
                      #12

                      COM does indeed sucketh, but sinceth it's the only game in town for certain things, get used to the vacuum.

                      Software Zen: delete this;
                      Fold With Us![^]

                      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