-
Jun 18th, 2019, 06:10 AM
#1
Thread Starter
PowerPoster
[RESOLVED] .NET Controls vs COM components in .NET environment
Farpoint Spread was once the best spread control in the world. Unfortunately, it was acquired by GrapeCity 10 years ago. After it was acquired 1, or 2 years later, the upgrade of Farpoint Spread was stopped. GrapeCity's current main spread product is Spread.Net, which is a much more powerful product than Farpoint Spread.
Although .NET can still use COM components, it seems that few people do this. I'd like to know where the advantages of native .NET controls over COM components in .NET environment? Does the COM component have the potential to compete with .NET components in .NET environment?
Last edited by dreammanor; Jun 18th, 2019 at 06:46 AM.
-
Jun 18th, 2019, 08:57 AM
#2
Re: .NET Controls vs COM components in .NET environment
What advantage would COM have? It wasn't the easiest thing to deal with even in VB6. I'm not sure on what grounds it could compete. Since they aren't easier to work with, they'd need an advantage in .NET that would outweigh the more fiddly nature. That would likely have to be some kind of greater utility or power, but what would that be? I'm not aware of any.
Now, it may be that my memory of COM is inaccurate and that COM components are as readily used as a .NET control, which might just be bundled with a program with no installation necessary. In that case, I was wrong and COM is just as easy, but if so, then what advantage does COM have at that point?
My usual boring signature: Nothing
-
Jun 18th, 2019, 09:05 AM
#3
Re: .NET Controls vs COM components in .NET environment
I'm not sure if c++ components fall into the "com" category.
If that is the case then SOME com components are way to powerful for .net to handle or compare and they are just there to make you programming faster.
If com does not fall into that category and is NOT + API calls then probably com components have not been simulated in a .net environment so they just need to be there.
For example some old printers we are using, need to have com components added else there is just the standard printing .net components that do not work properly most of the times.
ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσεν·
-
Jun 18th, 2019, 09:30 PM
#4
Thread Starter
PowerPoster
Re: .NET Controls vs COM components in .NET environment
In the .NET environment, differences in the versions of the .Net Framework can make development inconvenient.
Maybe no version difference should be considered as an advantage of COM.
-
Jun 18th, 2019, 09:31 PM
#5
Thread Starter
PowerPoster
Re: .NET Controls vs COM components in .NET environment
In the .NET environment, differences in the versions of the .Net Framework can make development inconvenient.
Maybe no version difference should be considered as an advantage of COM.
-
Jun 19th, 2019, 03:10 AM
#6
Re: [RESOLVED] .NET Controls vs COM components in .NET environment
We use various Com components in one of our products at my work, when they started to migrate an application from VB6 to .Net and never finished.
So here is what i know about using Com in .Net;
1, Com components work fine, you can use them and so if you have a component which you have no equivalent in .net it can be a good option, also if you have a large component already written in VB6 which you would like to reuse in your .net application you can.
2, There are very few if any components i have come across that there is no equivalent if not better version feature wise in .Net, and if you do have a .Net version i would always go for that, .Net components play nicer in the .Net environment that Com ones and they tend to be still supported.
3, Com components which are NOT 3rd party are very painful to work with, if you have a VB6 project that is non static so you are still making changes to it and you are including that in your .Net project, then think again !!! it is probably one of the worst things you can do, its slow and difficult to work with and can cause you all sorts of problems around versioning of com components at build time.
I have re-written a few smaller VB6 components off my own back at work just so i dont have to go through this pain
Last edited by NeedSomeAnswers; Jun 19th, 2019 at 07:58 AM.
Reason: spelling
Please Mark your Thread "Resolved", if the query is solved & Rate those who have helped you
-
Jun 19th, 2019, 08:47 AM
#7
Re: .NET Controls vs COM components in .NET environment
Originally Posted by dreammanor
In the .NET environment, differences in the versions of the .Net Framework can make development inconvenient.
Maybe no version difference should be considered as an advantage of COM.
Not anymore. Frankly, the framework differences were a MUCH bigger issue a decade back. Things were changing/advancing rapidly in those days. The difference between FW 1.x and 2 was HUGE. The difference between 2 and 3.5 was substantial. The difference between 3.5 and 4 was pretty significant. However, the differences since then have been pretty meager. Furthermore, with newer frameworks already installed in Win10, it is ceasing to be an issue. For example, I recently wrote a small program that was distributed to four surrounding states. All they had to do was copy the .exe onto their system and they could run it. I wasn't sure that would be possible, because...what about the framework? However, nobody had a problem with it, which means that the framework was already installed on all of their systems.
This is really where everybody wanted to get to with .NET. It's the same point that VB6 has had: The framework is just there, so you don't need to think about it. When I was first distributing VB5/6 applications, one of the discs had the runtime. Once that was present on all OS, that runtime was no longer necessary. While .NET was changing radically every other year, that wasn't possible. Now that it's settling down, framework issues are going away. I don't feel TOTALLY confident that you can ignore the framework, these days, but we mostly can, and will be able to completely forget about it soon.
My usual boring signature: Nothing
-
Jun 20th, 2019, 07:43 PM
#8
Thread Starter
PowerPoster
Re: [RESOLVED] .NET Controls vs COM components in .NET environment
Yes. Maybe I should consider using .NET controls instead of COM components and trying to make the .NET controls work in VB6.
-
Jun 21st, 2019, 08:47 AM
#9
Re: [RESOLVED] .NET Controls vs COM components in .NET environment
I'm not sure that would be so good. MS has generally been pretty good about keeping things backwards compatible, but not so good about forwards compatible. Using COM in .NET is something that happens. Using .NET in VB6 is not something I have heard much about. I would say that .NET in .NET and COM in VB6 would be best.
My usual boring signature: Nothing
-
Jun 24th, 2019, 05:29 AM
#10
Re: [RESOLVED] .NET Controls vs COM components in .NET environment
There is zero reason to use a COM component in a .Net application if a .Net version exists. COM interop was provided for those cases where there is no .Net equivalent of a COM library. Also, large parts of the Windows OS are exposed through COM interfaces. GDI+ for example, which WinForms uses as it's native graphics library is a COM library. Every time you do an operation on a Bitmap object in .Net, you're actually working with COM under the hood.
I must correct myself here. I was mistaken, GDI+ is not COM based. It is a class based with C++ interfaces, which I had confused in my head when I wrote that post. Nonetheless, the point still stands, Windows has quite a few COM based components. Accessing UPNP for your router or Windows Media Player are two instances I've dealt with personally through .Net that requires the use of COM.
Last edited by Niya; Jun 30th, 2019 at 11:42 AM.
-
Jun 24th, 2019, 07:48 AM
#11
Re: [RESOLVED] .NET Controls vs COM components in .NET environment
I'm not sure that would be so good. MS has generally been pretty good about keeping things backwards compatible, but not so good about forwards compatible. Using COM in .NET is something that happens. Using .NET in VB6 is not something I have heard much about. I would say that .NET in .NET and COM in VB6 would be best.
Oh its possible i have seen it done in a project at my work, we have a project that is .NET that calls a VB6 component that has a .Net control in it ....
... it's horrible to work with though i would thoroughly un-recommend it !!
Please Mark your Thread "Resolved", if the query is solved & Rate those who have helped you
-
Jun 24th, 2019, 05:15 PM
#12
Re: [RESOLVED] .NET Controls vs COM components in .NET environment
Possible yes. But less to zero backwards compatibility. Can you explain more as quest interesting?
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|