|
All COM classes have registry entries (this is what the COM Library uses to activate objects). Searching the registry is pretty simple. As I recall, Microsoft applications have thousands of registry keys and values. I would guess enumerating, HKEY_LOCAL_MACHINE\SOFTWARE subkeys for Microsoft subkey, and then specific subkeys for Office 12, and eventually, you're looking for a Current Version subkey and value.
Also, you might try searching here: Object Library Reference for Microsoft Office 12[^]
|
|
|
|
|
Hi
I am implementing security on Contact base smart card which follows scosta template.In card structure ef is directly under DF and DF is directly under MF. According to the template i am implementing security on elementary file(both sac and sae attributes are specified at time of creation in fcp) according to security condition read and update of record requires verification of pin(which is already defined in pin file).
Problem is that after implementing the security attributes on card now also my card is not following that,after selecting the file i can directly read and write on record, card does not ask for verification of pin.
please help me asap...............
|
|
|
|
|
hi how did u created MF, DF and EF files in smartcard please let me know.
|
|
|
|
|
how i can display an icon(bitmap,png,...) on a button in an activex control. i have used LoadImage function and obtained the button without an icon as a result. When i used this function in a dialog based MFC application it worked. what is the difference of activex control ?
here what i used;
HICON hIcon = (HICON)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ICON3), IMAGE_ICON, 16, 16, 0);
mb_PickUp.SetIcon(hIcon);
thanks in advance
|
|
|
|
|
Is GetModuleHandle(NULL) now getting a different resource handle than before?
|
|
|
|
|
actually in a dialog based application everything is fine for GetModuleHandle(NULL) funtion but in activex it returns NULL so it seems that is the problem. any suggestion to fix this.
thanks
|
|
|
|
|
|
i use the activex in the browser so what should be the path of dll/exe that my activex lives in. iexplorer.exe ?
|
|
|
|
|
What is your activeX written using, MFC? ATL? Win32? Whatever it is, though you could find the name/path to pass there may be a function called something like GetResourceInstance() you can call which will do it for you, have a look.
|
|
|
|
|
it worked thanks very much.
|
|
|
|
|
Hello, is it possible to create a COM objects structure as below:
In a dll library I define:
class T1
{
public:
STDMETHOD(Method)();
}
STDMETHODIMP T1::Method()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
return S_OK;
}
which implements interface:
interface IT1 : IDispatch
{
[id(1)] HRESULT Method();
};
coclass T1
{
[default] interface IT1;
};
and then I would like to have:
class T2 : public T1
{
}
I would like to create a COM objects from the class T2 and have all the functionality provided by class T1. E.g. I would like to call:
CComQIPtr<it2> spiT1(piT2);
spiT1->Method();
</it2>
Anyone can help?
|
|
|
|
|
have you had a try?
if it didn't work, maybe you could define a new interface:
interface IT2:IT1
|
|
|
|
|
Although this would work, T2 would be an ordinary class while T1 is a com class.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
I think you want to use aggregation.
"To expose the interfaces of one COM class as though they were implemented on a second COM class, the second class aggregates the first. "
|
|
|
|
|
Hi All,
I have one COM+ EXE and i want to import it in my client application and want to use its function.So please can anyone help me.
Thanks A Ton
Ash_VCPP
modified on Wednesday, March 18, 2009 7:15 AM
|
|
|
|
|
If you use the dumpbin utility to tell you which functions are exported by your COM+ EXE, you will find that it should export a number of standard COM server routines, which you can call from your client application. You don't really import the COM+ EXE, the COM library will load it when you make an In-Process activation request (for instance, CoGetClassObject).
Your COM+ EXE should export RegisterServer, which adds a number of entries to the registry on your computer (look in, HKEY_CLASSES_ROOT\CLSID).
This Larry Osterman blog: Registry Entries Needed to Create a COM Object[^], might be helpful.
|
|
|
|
|
can you please provide me some code or procedure to call com+ methods??
Thanks A Ton
Ash_VCPP
|
|
|
|
|
im a com beginner, i know its more complex than normal usage. Here i list some classes as following:
class A{
//...some member variables, such as c strings, and other class variables
};
class B{
//...some member variables, such as c strings, and other class variables
};
class C{
//...some member variables, such as c strings, and other class variables
A* m_pAobjects;
B* m_pBobjects;
};
In the project, there would be only one instance of class C, but there would be more than one B instances and A instance; And i can create one C instance, which will read some data from some files or generate some data on the fly; and i can get the count of its internal A or B instances, retrieve specified objects from the instances.
But, i don't know how to design the project to com architecture. My main problem is,how to design and implement the interfaces? and how to transfer the parameters between the com client and the server?
thanks
|
|
|
|
|
As a start: Find something on Unified Modelling Language (UML) related to COM, though be careful as some UML descriptions can get a bit complicated. Basically get some paper, draw your COM objects as boxes and any interface such as IUnknown or IMySettings as, well, 'lollipop' or spoon shapes on those boxes. Find a few examples and you'l see what I mean.
Then try a sequence diagram to show the messages (calls) between the COM objects. Once you're satisfied you have the messages sorted you need to design interfaces to provide methods which convey those messages.
|
|
|
|
|
|
im agree with you. Although i know little about uml, im puzzled by this condition. But it can be designed in plain C++ easily. About COM, at this condition, class C can be implements as interface C is easy, but how to retrieve its internal instances B or A? No matter C delegate A and B or C contain B and C, there would be more than one interfaces be created......
i think i have not understand the between COM interface and COM object.
|
|
|
|
|
thanks for you advise. After i read the implement about ADO database, i know how to designed such com interfaces for such condition.
|
|
|
|
|
As you mention, you can't really consider designing how to implement COM objects in, say, C++ until you are up to speed with COM Objects and Interfaces and have some idea of how they can be used.
|
|
|
|
|
yes. im just a newbie for com. But the question is upgrading, although i had learnt how to implement it from ADO. Here, class A has B type member pointer, but B is a union type, which can point to a A object or anther different object:
class A{
//some other members
struct B* m_pB;
};
struct B{
int type;//indicate the type of next field
union{
char* szText;
class A* pA;
}data;
};
if i translate it to interface, that, i can get IB from IA, but if IB instance's data field point to any IA object, how should i get the IA object? if i get IA object as normal, the previous IA object,the owner of IB, would lost its attributes! right?
|
|
|
|
|
Your Inside COM should tell you most of this. Again concentrate on COM objects and Interfaces or some examples and you will realise how to phrase 'IB instance's data field' in COM terms.
|
|
|
|