|
A confusion has prevailed for quite some time for me now that what exactly is the COM status in .NET like how can we create COM components in .NET and what r the similarities and dissimilarities in COM components coded b4 and now in .NET?
Zaki
|
|
|
|
|
I disagree that there is any confusion except by naysayers wanting to dropkick MS and/or .NET
COM is very much alive and well in .NET. In fact, my Inside C# book has over a 100 pages dedicated to the subject of COM interop!
Here's what Don Box had to say aobut the future of COM development regarding .NET
“Virtually all aspects of the COM programming model have survived (interfaces, classes, attributes, context, and so on). Some may consider COM dead simply because common language runtime objects don't rely on IUnknown-compliant vptrs/vtbls. I look at the runtime as breathing new life into the programming model that I've spent the last seven years of my life working with, and I know there are other programmers out there who share this sentiment" - Don Box
Cheers,
Tom Archer
Author - Inside C#, Visual C++.NET Bible
|
|
|
|
|
i am not trying to paly down the .NET here, the only reason i have posted this question was that we here in pakistan dont have the access to the newer books on .NET , and the one i got had potryed this concept which i mentioned in my question
i am working in .NET so i had to confirm what i had read and also get some views on it from other ppl
|
|
|
|
|
zakimurtaza wrote:
i am not trying to paly down the .NET here,
You misunderstood, mate. I was referring to the information you were getting from other sources. I've, myself, read many articles saying things like COM is dead under .NET and was really just letting you know that this rumours are greatly exaggerated.
zakimurtaza wrote:
I am working in .NET so i had to confirm what i had read and also get some views on it from other ppl
That is the way to learn and certainly the approach I take.
Cheers,
Tom Archer
Author - Inside C#, Visual C++.NET Bible
|
|
|
|
|
how to load a conventional DLL in a COM Server?
|
|
|
|
|
The same way as you would in any other application. You can use LoadLibrary or link the .lib file, COM makes no reserve on this...
At least I hope so - the COM server I'm building for work does it
Dylan Kenneally
London, UK
|
|
|
|
|
What I want to know is how to set the path of DLL?It seems that I cannot locate the DLL.I wrote the full path in the LoadLibrary,but it failed.
|
|
|
|
|
What message did it fail with? It's not something silly like not having your path wrapped in quotes ("\"c:\develop\my dll\lib.dll\"") when theres a space in the path is it?
Dylan Kenneally
London, UK
|
|
|
|
|
can anybody tell me how to register a com dll with c++ code? better give me some piece of code, thanks!;P
Richy
|
|
|
|
|
Load the dll into your process with load library, then call GetProcAddress for DllRegisterServer and call that function. This is how regsvr32 registers the DLL.
Build a man a fire, and he will be warm for a day Light a man on fire, and he will be warm for the rest of his life!
|
|
|
|
|
|
typedef HRESULT (STDAPICALLTYPE *CTLREGPROC)() ;
HMODULE hModule = ::LoadLibrary(m_strPathName);
CTLREGPROC DLLRegisterServer = (CTLREGPROC)::GetProcAddress(hModule,"DllRegisterServer" );
DLLRegisterServer();
::FreeLibrary(hModule);
Regards
Carlos Antollini.
www.wanakostudios.com
Sonork ID 100.10529 cantollini
|
|
|
|
|
I'm a newbie and have just read one whole entire book on COM and part of another. I understand most but not all of it. I might have missed this but if I want to develop a COM object or ActiveX control for use by Visual Basic, do I have to use variant data types (in my Visual C++ server code) or will it get automatically converted from the type library? I guess I'm talking about for automation purposes/late binding. Though, I'm not sure.
|
|
|
|
|
You can use any automation types.
soptest
|
|
|
|
|
Ok. Thanks. Yes, now I recall the other automation data types. I think I got confused with example in book saying something about using Variants was better for automation late binding...maybe it was referring to the script languages.
|
|
|
|
|
Yes, variants for scripts.
soptest
|
|
|
|
|
Hello all...
I have a VB6 COM component that exposes a collection class I wrote using Function NewEnum() as IUnknown to enable for each iteration of the collection. The procedure attributes are set correctly to -4, hidden.
When I try to iterate the collection via interop using the vb.net code below, I get "QI for IEnumVARIANT failed on the unmanaged server," but only when executing it in the code behind an asp.net page. works fine behind a .net windows form. same problem if I attempt it in C#.
Dim rdfs As ReportMgr.ReportDefs
Dim rdf As ReportMgr.ReportDef
rdfs = New ReportMgr.ReportDefs()
rdfs.Refresh()
For Each rdf In rdfs
System.Diagnostics.Debug.WriteLine(rdf.Key)
Next
Any ideas?
Travis
|
|
|
|
|
What kind of in-proc communication uses local COM server (.exe)? May be DDE?
|
|
|
|
|
|
lrpc - local RPC
http://www.windowsitlibrary.com/Content/356/08/1.html
soptest
|
|
|
|
|
COM uses memory mapped files for interprocess communication if the two processes lie on the same machine.
Build a man a fire, and he will be warm for a day Light a man on fire, and he will be warm for the rest of his life!
|
|
|
|
|
My_Wuestion wrote:
May be DDE?
Not any more, but I seem to remember reading that it did in the happy days of Windows 3.1
|
|
|
|
|
Hi,
Can anyone let me know where on the net I can find good & simple explanation about n-tier architecture & design?
Thanks in advance
Hitesh
|
|
|
|
|
Problem with finding msword.olb, where can I download these files.
To incorporate COMs.
Thanks.
URGENT
|
|
|
|
|
<drive>:\Programm Files\Microsoft Office\Office\MSWORD9.OLB
It goes with MSWord application
soptest
|
|
|
|