Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

154 lines
5.5 KiB

  1. From: Douglas Hodges
  2. To: Alexander Gounares
  3. Subject: possible change for next OLE version.
  4. Date: Tuesday, November 02, 1993 12:16PM
  5. a suggestion for consideration.
  6. doug
  7. ----------
  8. From: Rao Remala
  9. To: Bob Atkinson; Craig Wittenberg; Tony Williams
  10. Cc: Douglas Hodges
  11. Subject: RE: Autoconversion of links
  12. Date: Thursday, September 23, 1993 3:08PM
  13. Thanks for the info and help! No changes now and Publisher is out of luck
  14. --rao
  15. ----------
  16. |From: Bob Atkinson
  17. |To: Craig Wittenberg; Rao Remala; Tony Williams
  18. |Cc: Douglas Hodges
  19. |Subject: RE: Autoconversion of links
  20. |Date: Thursday, September 23, 1993 10:36AM
  21. |
  22. |I agree with Doug.
  23. |
  24. |If the class is different, then we cannot *automatically* go
  25. |ahead, in any of our (present) APIs, as we have no idea as to
  26. |what action the action the caller took based in the erroneous
  27. |information we gave him. We must give the opportunity to the
  28. |piece of code that took action on the erroneous info the
  29. |opportunity to do something different based on the new
  30. |information, as only it knows what it did.
  31. |
  32. |Doug's suggestion makes it easy for an app to write a simple
  33. |helper function that ignores certain changes while deals with
  34. |others. Hopefully it would be easy for us; it seems so.
  35. |
  36. |One might ask whether we should put such a new helper function
  37. |in our libraries. I believe I am against that: 1) it's a new
  38. |OLE api, and 2) I really want applications to be conscious of
  39. |the fact that this change can happen.
  40. |
  41. | Bob
  42. |----------
  43. || From: Douglas Hodges
  44. || To: Bob Atkinson; Craig Wittenberg; Rao Remala; Tony Williams
  45. || Subject: RE: Autoconversion of links
  46. || Date: Thursday, September 23, 1993 10:08AM
  47. || Priority: High
  48. ||
  49. || unfortunately i don't think it is correct to do this. i don't
  50. || think there is anything we can do for shipping apps (or soon
  51. || to be shipped apps) that don't do this correctly.
  52. ||
  53. || we need to have apps handle the OLE_E_CLASSDIFF situation
  54. || correctly. but our problem is that we don't really have our
  55. || whole story straight as to how this is to be handled.
  56. || currently we recommend that if the OLE_E_CLASSDIFF error comes
  57. || then the app should simply call IOleLink::BindLinkSource with
  58. || the flag OLELINK_EVENIFCLASSDIFF. this is correct ONLY if both
  59. || the old class and the new class use OLE's DefLink. if either
  60. || class uses a custom link, then in fact the link must be
  61. || recreated.
  62. ||
  63. || we need to give a different error code from OleRun when in
  64. || fact it is required to re-create the link (ie. re-binding with
  65. || OLELINK_EVENIFCLASSDIFF is not good enough).
  66. ||
  67. || suggestion: OLE_E_CLASSDIFFMUSTRECREATELINK
  68. || this scode should be returned instead of OLE_E_CLASSDIFF if
  69. || either the old or new class uses a custom link handler (there
  70. || is REGDB info that tells us if a class uses a custom link).
  71. ||
  72. || currently the OUTLINE sample apps handle the OLE_E_CLASSDIFF
  73. || error by re-creating the link in all situations because this
  74. || always works. it is a lot of overhead and is a lot more
  75. || complicated than simply re-binding with the
  76. || OLELINK_EVENIFCLASSDIFF flag. if we had the two error codes
  77. || then, the OUTLINE sample code code be easily modified to
  78. || handle both cases. i can imagine that if we add the new error
  79. || code, that some apps could choose to handle the
  80. || OLE_E_CLASSDIFF case and simply fail to ever bind a link that
  81. || is in the OLE_E_CLASSDIFFMUSTRECREATE case.
  82. ||
  83. || doug
  84. || ----------
  85. || |From: Rao Remala
  86. || |To: Douglas Hodges
  87. || |Subject: FW: Autoconversion of links
  88. || |Date: Wednesday, September 22, 1993 5:20PM
  89. || |Priority: High
  90. || |
  91. || |
  92. || |----------
  93. || |From: B. Ashok
  94. || |To: Rao Remala; Srini Koppolu
  95. || |Cc: Paul Klemond
  96. || |Subject: FW: Autoconversion of links
  97. || |Date: Wednesday, September 22, 1993 5:06PM
  98. || |Priority: High
  99. || |
  100. || |
  101. || |I tried changing the bindflags to OLELINK_EVENIFCLASSDIFF under
  102. || |the debugger and autoconversion of links works just fine. I'm
  103. || |convinced that this should be the default behavior when OleRun
  104. || |is called. Otherwise, there seems to be no way to autoconvert
  105. || |a link correctly without breaking some containers.
  106. || |
  107. || |-- Bash
  108. || |
  109. || |----------
  110. || |From: bash
  111. || |To: natbro; paulkle; phaniv; raor; seanch; srinik; vikramn
  112. || |Cc: bash
  113. || |Subject: Autoconversion of links
  114. || |Date: Wednesday, September 22, 1993 4:40PM
  115. || |Priority: High
  116. || |
  117. || |
  118. || |I ran across the following problem while debugging
  119. || |autoconversion of works 2.0 objects and it seems like a fairly
  120. || |serious one from the user's point of view.
  121. || |We do autoconversion of works 2.0 objects to works 3.0 and
  122. || |everything works fine from a 1.0 container. However we have
  123. || |the following problem with Publisher 2.0 (and with other ole
  124. || |2.0 containers that call OleRun to activate links):
  125. || |
  126. || |Let's say Pub 2.0 had a linked works 2.0 object in it. When we
  127. || |try to activate this, Pub 2.0 calls OleRun, which ends up
  128. || |returning OLE_E_CLASSDIFF since the clsids are indeed
  129. || |different. The only workaround that I know of at present is to
  130. || |have the container call BindToSource with
  131. || |OLELINK_EVENIFCLASSDIFF which of course it is too late to do
  132. || |since there exist shipped apps like Pub 2.0 out there which
  133. || |call OleRun to activate links... (FYI, the Works WP and DB do
  134. || |the same thing too). My question is this: is it possible to
  135. || |make OLELINK_EVENIFCLASSDIFF as the default behavior when
  136. || |OleRun is called ? Or is there anything at all we can do on
  137. || |the server side (reg.dat or any other hack) to get
  138. || |autoconversion of links to work ?
  139. || |
  140. || |Thanks for any info.
  141. || |
  142. || |-- Bash
  143. || |
  144. || |
  145. || |
  146. ||
  147. ||
  148. |