|
From: VBen on 15 Feb 2005 12:53 Hi all. I have an application to draw and design different documents, that supports linking and embedding of other documents (like, for instance, Corel Draw or Word). Then, the user can print their designs "WYSIWYG", so I load the external document inside an OLE document container control (VB6), get a handle to the object and invoke OleDraw with the hDC that I want the object in. This have been working excellent, and this application is largely distributed among our clients. The problem is we want to migrate to .NET (any language, VB, C#, C++, ...), but there's no OLE container that lets me obtain a handle to an OLE document. I know you could import COM and ActiveX, but this particular control (included in VB6) CANNOT BE IMPORTED NOR INSERTED in .Net. Microsoft calls this a "migration issue" and warns us about it, but how, then, can I draw an Ole document inside our application (let alone open, edit, update, etc)? Is Microsoft planning to update this component for VS.Net 2005? Or is there an alternative? I know I could load an OLE document "the hard way", but those are methods so obscure, I get lost before even starting to insert the document in a container... If this is the only solution, is there an easy (as easy as this can be) example that can lead me to accomplish the insertion of a document inside mine? I know it can be done, because RTF editor lets you do it. It even lets you open and edit the document, and "paste special", but I don't seem to accomplish getting a handle to any of those inserted objects... Thank you for your time, VBen.
From: Mike McIntyre [MVP] on 17 Feb 2005 16:26 See the blog at: http://blogs.vbcity.com/mcintyre/archive/2004/12/07/519.aspx Be sure to read the comments too ;-0 -- Mike Mike McIntyre Visual Basic MVP www.getdotnetcode.com "VBen" <bmorayta(a)compucaremexico.com> wrote in message news:u0wzzc4EFHA.464(a)TK2MSFTNGP09.phx.gbl... > Hi all. > I have an application to draw and design different documents, that > supports > linking and embedding of other documents (like, for instance, Corel Draw > or > Word). Then, the user can print their designs "WYSIWYG", so I load the > external document inside an OLE document container control (VB6), get a > handle to the object and invoke OleDraw with the hDC that I want the > object > in. > This have been working excellent, and this application is largely > distributed among our clients. > The problem is we want to migrate to .NET (any language, VB, C#, C++, > ...), > but there's no OLE container that lets me obtain a handle to an OLE > document. > I know you could import COM and ActiveX, but this particular control > (included in VB6) CANNOT BE IMPORTED NOR INSERTED in .Net. > Microsoft calls this a "migration issue" and warns us about it, but how, > then, can I draw an Ole document inside our application (let alone open, > edit, update, etc)? > Is Microsoft planning to update this component for VS.Net 2005? Or is > there > an alternative? > I know I could load an OLE document "the hard way", but those are methods > so > obscure, I get lost before even starting to insert the document in a > container... If this is the only solution, is there an easy (as easy as > this > can be) example that can lead me to accomplish the insertion of a document > inside mine? > I know it can be done, because RTF editor lets you do it. It even lets you > open and edit the document, and "paste special", but I don't seem to > accomplish getting a handle to any of those inserted objects... > Thank you for your time, > VBen. > >
From: VBen on 17 Feb 2005 21:02 So, we're back at the beginning... We can't migrate until VS.net 2005 is released, and even then, we'll have to compile an obscure sample into our project... Is there still the idea to "release" the ActiveDocumentHost as a sample included in .net 2005? Will MS release eventually this control? Have you seen this Document Host? (just curious). I'd like to see it, and see if it will fit our needs (even in its unsupported stage)... Is there a version I could use or compile on VS.net 2002? (we don't have the Beta, and don't plan to install it any time soon). If so, please let me know where or how to get it... We really can prescind of OLE support for our app, since GDI+ is much better than GDI, and our APP will include many features not previously available, but to support existing customers, we should include full support of previous versions of our files (and not just files that do not have ole elements)..... That's a really good question... Thanks anyway, and I'll be looking forward to see if there's another solution to our dilema. Please, if anyone knows of some alternative solution, post here.... VBen. "Mike McIntyre [MVP]" <mikemc(a)getdotnetcode.com> escribiý en el mensaje news:O82kndTFFHA.2460(a)TK2MSFTNGP09.phx.gbl... > See the blog at: > http://blogs.vbcity.com/mcintyre/archive/2004/12/07/519.aspx > > Be sure to read the comments too ;-0 > > -- > Mike > > Mike McIntyre > Visual Basic MVP > www.getdotnetcode.com > > "VBen" <bmorayta(a)compucaremexico.com> wrote in message > news:u0wzzc4EFHA.464(a)TK2MSFTNGP09.phx.gbl... > > Hi all. > > I have an application to draw and design different documents, that > > supports > > linking and embedding of other documents (like, for instance, Corel Draw > > or > > Word). Then, the user can print their designs "WYSIWYG", so I load the > > external document inside an OLE document container control (VB6), get a > > handle to the object and invoke OleDraw with the hDC that I want the > > object > > in. > > This have been working excellent, and this application is largely > > distributed among our clients. > > The problem is we want to migrate to .NET (any language, VB, C#, C++, > > ...), > > but there's no OLE container that lets me obtain a handle to an OLE > > document. > > I know you could import COM and ActiveX, but this particular control > > (included in VB6) CANNOT BE IMPORTED NOR INSERTED in .Net. > > Microsoft calls this a "migration issue" and warns us about it, but how, > > then, can I draw an Ole document inside our application (let alone open, > > edit, update, etc)? > > Is Microsoft planning to update this component for VS.Net 2005? Or is > > there > > an alternative? > > I know I could load an OLE document "the hard way", but those are methods > > so > > obscure, I get lost before even starting to insert the document in a > > container... If this is the only solution, is there an easy (as easy as > > this > > can be) example that can lead me to accomplish the insertion of a document > > inside mine? > > I know it can be done, because RTF editor lets you do it. It even lets you > > open and edit the document, and "paste special", but I don't seem to > > accomplish getting a handle to any of those inserted objects... > > Thank you for your time, > > VBen. > > > > > >
From: timpub on 19 Feb 2005 08:26 We used the Microsoft dsoFramer control in VB6 and it ported fairly easily to .Net: http://support.microsoft.com/default.aspx?scid=kb;EN-US;311765 Other people also seem to have success: http://www.windowsforms.net/Forums/ShowPost.aspx?tabIndex=1&tabId=41&PostID=14964 We manipulate Word and Excel with it. Previously we'd tried vb6 ole control and the webBrowser, the dsoFramer was much better for our needs. I suggest that you first try to upgrade your VB6 project to use the dsoFramer rather than the ole control. If you can get that part of the VB6 project working OK, it should transfer to dotnet pretty smoothly. Note that generally in .dotnet you'll have an easier time working with office documents if you only support Office XP and Office 2003 as they have offial PIAs. We still support Office 2000 and 97 and debugging the automation calls to those was a bit painful. Tim
From: timpub on 19 Feb 2005 10:01 Microsoft have just updated the dsoFramer. The version we're using is 1.1.1214.0, Copyright ©1996-2001. The version for download now is 1.2.1223.0, Copyright ©1999-2004. Also the knowledge base article was last updated January 17th 2005 and now reflects use in dotnet. So it seems that someone at Microsoft actually cares about this unadvertised and unsupported life saver!
|
Pages: 1 Prev: Windows Service - need Windows.Forms.Application.DoEvent() equiv Next: Custom Exception |