|
hi all
Following error occur in my atl com project.this project is using both the atl and mfc classes.Tool is visual studio 2003.
d:\Microsoft Visual Studio .NET\Vc7\atlmfc\include\atlcom.h(1759): error C2259: 'ATL::CComObject<base />' : cannot instantiate abstract class
with
[
Base=CMakeBarcode
]
Tasleem arif
|
|
|
|
|
I think the error has to do with implementing all the virtual functions etc. So I would suggest:
Make sure you are implementing all the virtual methods of the base class. Also make sure that the function signatures are exactly the same.
Could you post some of the relevant "Output" from the compilation. That could tell us what the error is.
this is this.
|
|
|
|
|
Hi,
I am working on Media File Steam Edition, and want to cut a file into many, and join two files. I am using DirecX9 SDK. I tried hard, but cant go on further with my own knowledge.
Can any knowledged person guide me for the same. I was working on .avi files, but now am thinking of .wmv files.
Any thing that can help me do the coding for joining and cutting media files will do.
Thanks,
Jc Shreyash Singh Parihar
|
|
|
|
|
CComObject::CreateInstance method creates new instance of CComObject<class>. Instead I want to access running instance of class, if there is any. Is it possible?
-- modified at 5:48 Tuesday 28th March, 2006
|
|
|
|
|
Try to use QueryInterface to that class
Knock out "T" from CAN'T
You 'CAN' if you think you 'CAN'
|
|
|
|
|
Y, it is one way. But I want to get instance of coclass. ie.
CComObject<CMyClass>::CreateInstance
creates new instance .
Instead I want running instance if there is already one .
May be this is not possible
-- modified at 23:23 Wednesday 29th March, 2006
|
|
|
|
|
|
Let me be reword my problem.
In ATL , class CComObject has a static method CreateInstance which gives A pointer to a CComObject<Base> pointer
In similar way , is it possible to get pointer to a running CComObject<Base> ?
I'm pasting snippet from MSDN to make it more clear.
double x;
CComObject<CMyCircle>* pCircle;
HRESULT hRes = CComObject<CMyCircle>::CreateInstance(&pCircle);
_ASSERTE(SUCCEEDED(hRes));
-- modified at 4:33 Friday 31st March, 2006
|
|
|
|
|
May be Running Object Table (ROT) will help you. Check MSDN for further details of its usage.
Have a great day ahead!
Regards,
Sohail Kadiwala
(My Blog - http://blogs.wdevs.com/sohail/[^])
modified 21-Apr-21 21:01pm.
|
|
|
|
|
I have not yet been able to test this, but I'm hoping others may shine some light on this:
Does the 64bit COM subsystem understand InprocServer64 registry keys?
|
|
|
|
|
Read Registry Redirector (Windows) and other related pages.
The basic answer is yes and no.
InProcServer32 is not reflected between 64 and 32 bit DLL registration so they can co-exist.
Keep it simple
dex
|
|
|
|
|
i am getting "Method ~of object ~ failed", when calling a ATL COM object method in my vb+ATL COM App when it is run from VB IDE, however when i run the VB App's Exe ,the vb Form doesn't generate this error:
Thanx in Advance
Z.A
-- modified at 1:12 Monday 27th March, 2006
|
|
|
|
|
How do I know that a COM dll has been created using ATL? What do I have to look for in the Source code to find out?
---
With best regards,
A Manchester United Fan
The Genius of a true fool is that he can mess up a foolproof plan!
|
|
|
|
|
|
Michael Dunn wrote: Look for _Module or CComObjectRootEx or BEGIN_COM_MAP or any other ATL base class/macro.
So you mean that if I find any of the above in the code then the dll is written using ATL?
Thanks for the prompt reply... One of the reasons why I love CP...
---
With best regards,
A Manchester United Fan
The Genius of a true fool is that he can mess up a foolproof plan!
|
|
|
|
|
hi i want to make a transform filter which has only one input but can give two output pins. if i inherit my class from CTranformFilter it give me only one output pin and one input pin.....plzzzzz help me
|
|
|
|
|
Hello.
Does anybody knows, how can i display information about COM(ActiveX) components activity.
I wanna trace all methods and properties in hooked DLLs(ActiveX) like COMslicer(www.comslicer.com).
Tell me please, where can i get sample codes. I looking for the sample codes for 3days. but I did't looked for that.
Thanks.
|
|
|
|
|
Hi!
Recently I've stumbled across a situation I could not explain - does anyone have an idea why this is so?
I had installed one of my applications from a Windows Installer package on a machine while being logged in as administrator and the application worked as expected.
After logging in as a regular user I got an error that a COM object I use couldn't be created and, indeed, the corresponding entry under HKCR\CLSID was not there!
I relogged as administrator and the entry was there again!
Up to then I was under the impression that the HKCR hive is NOT user dependent, but now I'm no longer sure. Can anyone explain this behaviour?
Thanks in advance!
Regards,
mav
--
Black holes are the places where god divided by 0...
|
|
|
|
|
Register your component in HKLM and if you your applications is maintaining the seetings for different user then you can register it under HKCU
Try to register your component in HKLM.
Cheers
Ganesh
Cheers
"Peace of mind through Technology"
|
|
|
|
|
Hi Ganesh!
Thanks for your reply, although unfortunately I can't see how to achieve this.
The component is a third-party control I cannot modify in any way. Calling DllRegisterServer for this component (by using regsvr32, as always) creates the registry entries in HKCR (that's the behaviour I know from each and every COM class I've created or used).
And it doesn't answer the question why HKCR\CLSID seems to be different depending on a special user login...
Regards,
mav
--
Black holes are the places where god divided by 0...
|
|
|
|
|
Even if you were able to register the component somewhere else than HKCR\CLSID, it wouldn't be found when an application calls ::CoCreateInstance() trying to create the component since HKCR\CLSID is where it shall be registered.
What do you know about the target environment? OS version, user rights and so on?
Are you able to open other CLSIDs?
--
Roger
It's supposed to be hard, otherwise anybody could do it!
|
|
|
|
|
Unfortunately, I don't have very much information about the target machine - it was a customer pc which I don't have access to anymore. It was an XP Prof SP1 machine IIRC, running in a hospital environment/network.
At the time I was installing we solved the problem by temporarily giving the user admin rights, reinstalling the application and then switching back to regular user rights again and afterwards I didn't get to dig deeper into their user management.
And yes, we were able to open other CLSIDs, at least another part of my program worked without problems or errors I'd got if some other COM objects and ActiveX controls wouldn't have been accessable.
Regards,
mav
--
Black holes are the places where god divided by 0...
|
|
|
|
|
hi all,
As i develop windows application in MFC and i am new to COM ,
for that which link or book are better to learn COM developement
send reply
-- modified at 5:09 Wednesday 22nd March, 2006
|
|
|
|
|
I have found Beginning ATL3 COM Programming by Richard Grimes pitty useful.
Z.A
|
|
|
|
|
Hi
I am reading about COM nowadays.
how can com achieve method calling between dlls which were coded different languages.
I mean every language has spesific calling convention mechanism.What is the solution to pass this problem?
I don't understan this issue.
And one more:
are there any more problems to call methods between dlls except calling conventions?
Regards.
|
|
|
|