RE: CF MX 6.1 and com objects
Steven, I have been having major trouble here, with the library that I created I followed Microsoft's example on creating a com object. Create class project Add com class created 1 method called test() built solution no errors or warnings It is registered in .Net, will not be invoked by CreateObject, and this returns not a valid type library tlbimp ClassLibrary.dll /out:ClassLib.dll /verbose I am stumped on how to get this to work, I have followed the instructions you gave me and followed the instructions by Microsoft and getting a little frustrated here. Any advice on this at all would be great. Regards Andrew Scott Technical Consultant NuSphere Pty Ltd Level 2/33 Bank Street South Melbourne, Victoria, 3205 Phone: 03 9686 0485 - Fax: 03 9699 7976 _ From: Schuster, Steven [mailto:[EMAIL PROTECTED] Sent: Wednesday, 7 January 2004 12:53 AM To: CF-Talk Subject: RE: CF MX 6.1 and com objects You probably do indeed have it working but not natively. .NET is the replacement for COM. COM has a different internal architecture from .NET and thus they are not compatibility natively. That is why you have to use the RCW which translates specific calls from managed clients into COM specific invocation requests on unmanaged COM components. Basically this makes the .NET components think they are talking to another .NET component. This is how it is implemented: Create a RCW out of the COM component Ref. the metadata assembly Dl lint he project and use its methods and properties You can do the RCW step using the Type Library Importer utility or the VS.Net IDE. Ex.) This generates metadata assembly with the name IopExampleRCW.dll out of the COM IopExamlple.dll Command line: tlbimp IopExample.dll /output:IopExampleRCW.dll /verbose In VS.NET IDE you would go to Project ->Add Reference->COM tab... All of this is based on the fact that you have already registered the original COM component as well. Unless you register the original COM component none of this will work at all. This will work in all .Net invocations from C#, VB.NET and ASP.NET (et al.) Stephen E. Schuster PeopleSoft Administrator 2000 Ashland Drive Ashland, KY 41101 Office Phone 606.920.7447 Cell Phone 606.831.4590 -Original Message- From: Andrew Scott [mailto:[EMAIL PROTECTED] Sent: Monday, January 05, 2004 7:49 PM To: CF-Talk Subject: RE: CF MX 6.1 and com objects .Net does support com, I have it working here now. Secondly I am creating code that can be used by Windows Applications as well as ASP applications and coldfusion applications that will share common business logic. Blacknight does not support what I am trying to achive, so I am correct when I say I am not looking for a wrapper solution. Further discovery shows that I need to setup a DLLRegistrerServer or something. Regards Andrew Scott Technical Consultant NuSphere Pty Ltd Level 2/33 Bank Street South Melbourne, Victoria, 3205 Phone: 03 9686 0485 - Fax: 03 9699 7976 _ _ [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: CF MX 6.1 and com objects
Sure, no problem. Stephen E. Schuster PeopleSoft Administrator 2000 Ashland Drive Ashland, KY 41101 Office Phone 606.920.7447 Cell Phone 606.831.4590 _ From: Andrew Scott [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 06, 2004 6:45 PM To: CF-Talk Subject: RE: CF MX 6.1 and com objects Thanks Steven, I was looking at that yesterday. But couldn't figure out how to achieve that, I'll have a play around with it this week and see what I can do. If you don't mind me contacting you again if I run into trouble. Regards Andrew Scott Technical Consultant NuSphere Pty Ltd Level 2/33 Bank Street South Melbourne, Victoria, 3205 Phone: 03 9686 0485 - Fax: 03 9699 7976 _ From: Schuster, Steven [mailto:[EMAIL PROTECTED] Sent: Wednesday, 7 January 2004 12:53 AM To: CF-Talk Subject: RE: CF MX 6.1 and com objects You probably do indeed have it working but not natively. .NET is the replacement for COM. COM has a different internal architecture from .NET and thus they are not compatibility natively. That is why you have to use the RCW which translates specific calls from managed clients into COM specific invocation requests on unmanaged COM components. Basically this makes the .NET components think they are talking to another .NET component. This is how it is implemented: Create a RCW out of the COM component Ref. the metadata assembly Dl lint he project and use its methods and properties You can do the RCW step using the Type Library Importer utility or the VS.Net IDE. Ex.) This generates metadata assembly with the name IopExampleRCW.dll out of the COM IopExamlple.dll Command line: tlbimp IopExample.dll /output:IopExampleRCW.dll /verbose In VS.NET IDE you would go to Project ->Add Reference->COM tab... All of this is based on the fact that you have already registered the original COM component as well. Unless you register the original COM component none of this will work at all. This will work in all .Net invocations from C#, VB.NET and ASP.NET (et al.) Stephen E. Schuster PeopleSoft Administrator 2000 Ashland Drive Ashland, KY 41101 Office Phone 606.920.7447 Cell Phone 606.831.4590 -Original Message- From: Andrew Scott [mailto:[EMAIL PROTECTED] Sent: Monday, January 05, 2004 7:49 PM To: CF-Talk Subject: RE: CF MX 6.1 and com objects .Net does support com, I have it working here now. Secondly I am creating code that can be used by Windows Applications as well as ASP applications and coldfusion applications that will share common business logic. Blacknight does not support what I am trying to achive, so I am correct when I say I am not looking for a wrapper solution. Further discovery shows that I need to setup a DLLRegistrerServer or something. Regards Andrew Scott Technical Consultant NuSphere Pty Ltd Level 2/33 Bank Street South Melbourne, Victoria, 3205 Phone: 03 9686 0485 - Fax: 03 9699 7976 _ _ _ [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: CF MX 6.1 and com objects
Thanks Steven, I was looking at that yesterday. But couldn't figure out how to achieve that, I'll have a play around with it this week and see what I can do. If you don't mind me contacting you again if I run into trouble. Regards Andrew Scott Technical Consultant NuSphere Pty Ltd Level 2/33 Bank Street South Melbourne, Victoria, 3205 Phone: 03 9686 0485 - Fax: 03 9699 7976 _ From: Schuster, Steven [mailto:[EMAIL PROTECTED] Sent: Wednesday, 7 January 2004 12:53 AM To: CF-Talk Subject: RE: CF MX 6.1 and com objects You probably do indeed have it working but not natively. .NET is the replacement for COM. COM has a different internal architecture from .NET and thus they are not compatibility natively. That is why you have to use the RCW which translates specific calls from managed clients into COM specific invocation requests on unmanaged COM components. Basically this makes the .NET components think they are talking to another .NET component. This is how it is implemented: Create a RCW out of the COM component Ref. the metadata assembly Dl lint he project and use its methods and properties You can do the RCW step using the Type Library Importer utility or the VS.Net IDE. Ex.) This generates metadata assembly with the name IopExampleRCW.dll out of the COM IopExamlple.dll Command line: tlbimp IopExample.dll /output:IopExampleRCW.dll /verbose In VS.NET IDE you would go to Project ->Add Reference->COM tab... All of this is based on the fact that you have already registered the original COM component as well. Unless you register the original COM component none of this will work at all. This will work in all .Net invocations from C#, VB.NET and ASP.NET (et al.) Stephen E. Schuster PeopleSoft Administrator 2000 Ashland Drive Ashland, KY 41101 Office Phone 606.920.7447 Cell Phone 606.831.4590 -Original Message- From: Andrew Scott [mailto:[EMAIL PROTECTED] Sent: Monday, January 05, 2004 7:49 PM To: CF-Talk Subject: RE: CF MX 6.1 and com objects .Net does support com, I have it working here now. Secondly I am creating code that can be used by Windows Applications as well as ASP applications and coldfusion applications that will share common business logic. Blacknight does not support what I am trying to achive, so I am correct when I say I am not looking for a wrapper solution. Further discovery shows that I need to setup a DLLRegistrerServer or something. Regards Andrew Scott Technical Consultant NuSphere Pty Ltd Level 2/33 Bank Street South Melbourne, Victoria, 3205 Phone: 03 9686 0485 - Fax: 03 9699 7976 _ _ [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: CF MX 6.1 and com objects
"compatibility natively" - That was a good one Compatible natively - Damn MS spell checker Stephen E. Schuster PeopleSoft Administrator 2000 Ashland Drive Ashland, KY 41101 Office Phone 606.920.7447 Cell Phone 606.831.4590 -Original Message- From: Schuster, Steven [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 06, 2004 8:53 AM To: CF-Talk Subject: RE: CF MX 6.1 and com objects You probably do indeed have it working but not natively. .NET is the replacement for COM. COM has a different internal architecture from .NET and thus they are not compatibility natively. That is why you have to use the RCW which translates specific calls from managed clients into COM specific invocation requests on unmanaged COM components. Basically this makes the .NET components think they are talking to another .NET component. This is how it is implemented: Create a RCW out of the COM component Ref. the metadata assembly Dl lint he project and use its methods and properties You can do the RCW step using the Type Library Importer utility or the VS.Net IDE. Ex.) This generates metadata assembly with the name IopExampleRCW.dll out of the COM IopExamlple.dll Command line: tlbimp IopExample.dll /output:IopExampleRCW.dll /verbose In VS.NET IDE you would go to Project ->Add Reference->COM tab... All of this is based on the fact that you have already registered the original COM component as well. Unless you register the original COM component none of this will work at all. This will work in all .Net invocations from C#, VB.NET and ASP.NET (et al.) Stephen E. Schuster PeopleSoft Administrator 2000 Ashland Drive Ashland, KY 41101 Office Phone 606.920.7447 Cell Phone 606.831.4590 -Original Message- From: Andrew Scott [mailto:[EMAIL PROTECTED] Sent: Monday, January 05, 2004 7:49 PM To: CF-Talk Subject: RE: CF MX 6.1 and com objects .Net does support com, I have it working here now. Secondly I am creating code that can be used by Windows Applications as well as ASP applications and coldfusion applications that will share common business logic. Blacknight does not support what I am trying to achive, so I am correct when I say I am not looking for a wrapper solution. Further discovery shows that I need to setup a DLLRegistrerServer or something. Regards Andrew Scott Technical Consultant NuSphere Pty Ltd Level 2/33 Bank Street South Melbourne, Victoria, 3205 Phone: 03 9686 0485 - Fax: 03 9699 7976 _ _ [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: CF MX 6.1 and com objects
You probably do indeed have it working but not natively. .NET is the replacement for COM. COM has a different internal architecture from .NET and thus they are not compatibility natively. That is why you have to use the RCW which translates specific calls from managed clients into COM specific invocation requests on unmanaged COM components. Basically this makes the .NET components think they are talking to another .NET component. This is how it is implemented: Create a RCW out of the COM component Ref. the metadata assembly Dl lint he project and use its methods and properties You can do the RCW step using the Type Library Importer utility or the VS.Net IDE. Ex.) This generates metadata assembly with the name IopExampleRCW.dll out of the COM IopExamlple.dll Command line: tlbimp IopExample.dll /output:IopExampleRCW.dll /verbose In VS.NET IDE you would go to Project ->Add Reference->COM tab... All of this is based on the fact that you have already registered the original COM component as well. Unless you register the original COM component none of this will work at all. This will work in all .Net invocations from C#, VB.NET and ASP.NET (et al.) Stephen E. Schuster PeopleSoft Administrator 2000 Ashland Drive Ashland, KY 41101 Office Phone 606.920.7447 Cell Phone 606.831.4590 -Original Message- From: Andrew Scott [mailto:[EMAIL PROTECTED] Sent: Monday, January 05, 2004 7:49 PM To: CF-Talk Subject: RE: CF MX 6.1 and com objects .Net does support com, I have it working here now. Secondly I am creating code that can be used by Windows Applications as well as ASP applications and coldfusion applications that will share common business logic. Blacknight does not support what I am trying to achive, so I am correct when I say I am not looking for a wrapper solution. Further discovery shows that I need to setup a DLLRegistrerServer or something. Regards Andrew Scott Technical Consultant NuSphere Pty Ltd Level 2/33 Bank Street South Melbourne, Victoria, 3205 Phone: 03 9686 0485 - Fax: 03 9699 7976 _ [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: CF MX 6.1 and com objects
.Net does support com, I have it working here now. Secondly I am creating code that can be used by Windows Applications as well as ASP applications and coldfusion applications that will share common business logic. Blacknight does not support what I am trying to achive, so I am correct when I say I am not looking for a wrapper solution. Further discovery shows that I need to setup a DLLRegistrerServer or something. Regards Andrew Scott Technical Consultant NuSphere Pty Ltd Level 2/33 Bank Street South Melbourne, Victoria, 3205 Phone: 03 9686 0485 - Fax: 03 9699 7976 [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: CF MX 6.1 and com objects
.NET does not natively support COM. Whenever you talk about using .NET with COM you are by definition using wrappers. So what Matt said is completely true. His Black Knight product works differently through a direct C interface used by CFX tags. Has some advantages and disadvantages and is certainly worth checking out. Sam --- Blog: http://www.rewindlife.com Charts: http://www.blinex.com/products/charting --- > -Original Message- > From: Andrew Scott [mailto:[EMAIL PROTECTED] > Sent: Monday, January 05, 2004 7:04 PM > To: CF-Talk > Subject: RE: CF MX 6.1 and com objects > > Matt, > > > How the hell do you think you know what I am doing... > > > Were did I say I was creating a wrapper, I am developing a > com object nothing more nothing less. The object has business > logic that will be widley used across all our applications. > But for some reason it compiles but does not register > properly. Or at least .Net says it is. but coldfusion says it is not. > > Regards > Andrew Scott [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: CF MX 6.1 and com objects
Matt, How the hell do you think you know what I am doing... Were did I say I was creating a wrapper, I am developing a com object nothing more nothing less. The object has business logic that will be widley used across all our applications. But for some reason it compiles but does not register properly. Or at least .Net says it is. but coldfusion says it is not. Regards Andrew Scott Technical Consultant NuSphere Pty Ltd Level 2/33 Bank Street South Melbourne, Victoria, 3205 Phone: 03 9686 0485 - Fax: 03 9699 7976 _ From: Matt Liotta [mailto:[EMAIL PROTECTED] Sent: Tuesday, 6 January 2004 10:51 AM To: CF-Talk Subject: Re: CF MX 6.1 and com objects Are you trying to use a COM wrapper for a .NET object? If so, I would recommend skipping the pain that is the Java-COM bridge and instead use Black Knight (http://montarasoftware.com/go/9d58a59e-df02-1157-affb-e87c411e1c8f). Matt Liotta Montara Software, Inc. http://www.MontaraSoftware.com On Jan 5, 2004, at 6:12 PM, Andrew Scott wrote: > Hoping someone can help me out here, trying to create a com object with > Studio .Net 2003. Now I have built the solution and .Net tells me I > can use > it in any application and that it is registered. However coldfusion > can't > create the object, is there a special trick to get a com object to work > under CFMX. > > > Any help would be appreciated.. > > Regards > Andrew Scott > Technical Consultant > > NuSphere Pty Ltd > Level 2/33 Bank Street > South Melbourne, Victoria, 3205 > > Phone: 03 9686 0485 - Fax: 03 9699 7976 > > _ > > From: Tom Kitta [mailto:[EMAIL PROTECTED] > Sent: Tuesday, 6 January 2004 10:09 AM > To: CF-Talk > Subject: RE: WDDX vs raw XML? > > I don't think 4 or 5 should pose as a problem. I know I have a WDDX > solutions that has around 5 or 6 and it works fine. Also you may check > out > wddx site and see whatever there is a limit or no limit at all. It > would be > strange in my opinion if the limit (if any) was set to something under > 10. > > TK > -Original Message- > From: Shawn Grover [mailto:[EMAIL PROTECTED] > Sent: Monday, January 05, 2004 6:05 PM > To: CF-Talk > Subject: WDDX vs raw XML? > > We have a situation where we need to pass complex data structures > from the > server to the client, and from the client back to the server. In the > past, > I've handled this with WDDX, but am aware of a "quasi" limit to how > deep > you > can nest WDDX packets. Our current app is going to need multiple > levels - > probably 4 or 5. (i.e. the Base object has a collection which > contains > other > objects that contain collections which contains other objects that > contains > collections, etc). > > We've done some brief exploration of the XML functions in CFMX, and > suspect > this is probably the best choice for complex data like > this. However, I'd > like to hear from others in the group to see if there are any other > reasonable alternatives. (other than creating individual WDDX > objects for > each possible collection). > > Any thoughts? Thanks in advance. > > Shawn > _ > _ [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: CF MX 6.1 and com objects
Samuel, if I look into the ole/com viewer it shows that the IDispatch as being there, or does it have to be setup as something other than the .Net default Regards Andrew Scott Technical Consultant NuSphere Pty Ltd Level 2/33 Bank Street South Melbourne, Victoria, 3205 Phone: 03 9686 0485 - Fax: 03 9699 7976 _ From: Samuel R. Neff [mailto:[EMAIL PROTECTED] Sent: Tuesday, 6 January 2004 10:42 AM To: CF-Talk Subject: RE: CF MX 6.1 and com objects Can't give you a complete answer but a part of one. It has something to do with interfaces. CFMX requires the IDispatch interface and something I read in a forum from a tech support person is that .NET components don't expose this by default. The .NET docs indicate that .NET COM wrappers are in fact dual-interface by default, so I'm not sure what's up. The solution was to add an attribute to the .NET component, but I don't remember which. I just search the webforums and couldn't find the thread--sorry. Perhaps this will help you get on the right track... Sam --- Blog: http://www.rewindlife.com Charts: http://www.blinex.com/products/charting --- > -Original Message- > From: Andrew Scott [mailto:[EMAIL PROTECTED] > Sent: Monday, January 05, 2004 6:13 PM > To: CF-Talk > Subject: CF MX 6.1 and com objects > > Hoping someone can help me out here, trying to create a com > object with Studio .Net 2003. Now I have built the solution > and .Net tells me I can use it in any application and that it > is registered. However coldfusion can't create the object, is > there a special trick to get a com object to work under CFMX. > > > Any help would be appreciated.. > > Regards > Andrew Scott _ [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
Re: CF MX 6.1 and com objects
Are you trying to use a COM wrapper for a .NET object? If so, I would recommend skipping the pain that is the Java-COM bridge and instead use Black Knight (http://montarasoftware.com/go/9d58a59e-df02-1157-affb-e87c411e1c8f). Matt Liotta Montara Software, Inc. http://www.MontaraSoftware.com On Jan 5, 2004, at 6:12 PM, Andrew Scott wrote: > Hoping someone can help me out here, trying to create a com object with > Studio .Net 2003. Now I have built the solution and .Net tells me I > can use > it in any application and that it is registered. However coldfusion > can't > create the object, is there a special trick to get a com object to work > under CFMX. > > > Any help would be appreciated.. > > Regards > Andrew Scott > Technical Consultant > > NuSphere Pty Ltd > Level 2/33 Bank Street > South Melbourne, Victoria, 3205 > > Phone: 03 9686 0485 - Fax: 03 9699 7976 > > _ > > From: Tom Kitta [mailto:[EMAIL PROTECTED] > Sent: Tuesday, 6 January 2004 10:09 AM > To: CF-Talk > Subject: RE: WDDX vs raw XML? > > I don't think 4 or 5 should pose as a problem. I know I have a WDDX > solutions that has around 5 or 6 and it works fine. Also you may check > out > wddx site and see whatever there is a limit or no limit at all. It > would be > strange in my opinion if the limit (if any) was set to something under > 10. > > TK > -Original Message- > From: Shawn Grover [mailto:[EMAIL PROTECTED] > Sent: Monday, January 05, 2004 6:05 PM > To: CF-Talk > Subject: WDDX vs raw XML? > > We have a situation where we need to pass complex data structures > from the > server to the client, and from the client back to the server. In the > past, > I've handled this with WDDX, but am aware of a "quasi" limit to how > deep > you > can nest WDDX packets. Our current app is going to need multiple > levels - > probably 4 or 5. (i.e. the Base object has a collection which > contains > other > objects that contain collections which contains other objects that > contains > collections, etc). > > We've done some brief exploration of the XML functions in CFMX, and > suspect > this is probably the best choice for complex data like > this. However, I'd > like to hear from others in the group to see if there are any other > reasonable alternatives. (other than creating individual WDDX > objects for > each possible collection). > > Any thoughts? Thanks in advance. > > Shawn > _ > [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: CF MX 6.1 and com objects
Can't give you a complete answer but a part of one. It has something to do with interfaces. CFMX requires the IDispatch interface and something I read in a forum from a tech support person is that .NET components don't expose this by default. The .NET docs indicate that .NET COM wrappers are in fact dual-interface by default, so I'm not sure what's up. The solution was to add an attribute to the .NET component, but I don't remember which. I just search the webforums and couldn't find the thread--sorry. Perhaps this will help you get on the right track... Sam --- Blog: http://www.rewindlife.com Charts: http://www.blinex.com/products/charting --- > -Original Message- > From: Andrew Scott [mailto:[EMAIL PROTECTED] > Sent: Monday, January 05, 2004 6:13 PM > To: CF-Talk > Subject: CF MX 6.1 and com objects > > Hoping someone can help me out here, trying to create a com > object with Studio .Net 2003. Now I have built the solution > and .Net tells me I can use it in any application and that it > is registered. However coldfusion can't create the object, is > there a special trick to get a com object to work under CFMX. > > > Any help would be appreciated.. > > Regards > Andrew Scott [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: CF MX 6.1 and com objects
Sorry I should have also said that this is the error that I am getting as well The cause of this exception was that: coldfusion.runtime.com.ComObjectInstantiationException: An exception occurred when instantiating a Com object.. Regards Andrew Scott Technical Consultant NuSphere Pty Ltd Level 2/33 Bank Street South Melbourne, Victoria, 3205 Phone: 03 9686 0485 - Fax: 03 9699 7976 _ From: Andrew Scott [mailto:[EMAIL PROTECTED] Sent: Tuesday, 6 January 2004 10:13 AM To: CF-Talk Subject: CF MX 6.1 and com objects Hoping someone can help me out here, trying to create a com object with Studio .Net 2003. Now I have built the solution and .Net tells me I can use it in any application and that it is registered. However coldfusion can't create the object, is there a special trick to get a com object to work under CFMX. Any help would be appreciated.. Regards Andrew Scott Technical Consultant NuSphere Pty Ltd Level 2/33 Bank Street South Melbourne, Victoria, 3205 Phone: 03 9686 0485 - Fax: 03 9699 7976 _ From: Tom Kitta [mailto:[EMAIL PROTECTED] Sent: Tuesday, 6 January 2004 10:09 AM To: CF-Talk Subject: RE: WDDX vs raw XML? I don't think 4 or 5 should pose as a problem. I know I have a WDDX solutions that has around 5 or 6 and it works fine. Also you may check out wddx site and see whatever there is a limit or no limit at all. It would be strange in my opinion if the limit (if any) was set to something under 10. TK -Original Message- From: Shawn Grover [mailto:[EMAIL PROTECTED] Sent: Monday, January 05, 2004 6:05 PM To: CF-Talk Subject: WDDX vs raw XML? We have a situation where we need to pass complex data structures from the server to the client, and from the client back to the server. In the past, I've handled this with WDDX, but am aware of a "quasi" limit to how deep you can nest WDDX packets. Our current app is going to need multiple levels - probably 4 or 5. (i.e. the Base object has a collection which contains other objects that contain collections which contains other objects that contains collections, etc). We've done some brief exploration of the XML functions in CFMX, and suspect this is probably the best choice for complex data like this. However, I'd like to hear from others in the group to see if there are any other reasonable alternatives. (other than creating individual WDDX objects for each possible collection). Any thoughts? Thanks in advance. Shawn _ _ [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]