|
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.
|
|
|
|
|
I really have that book, and i had read it twice, in fact.
I will study harder to do that work.
Thank you.
Regards.
|
|
|
|
|
hello all,
i want to customize the context menu which appears when one clicks
on to a mail-id(in front of From: or To .
while browsing for it, i found that there are 2 ways of doing this via xml or via dll's.
i have chosen to write a dll for it as it offers much more flexibility,but the real problem is using what i should write a dll .NET(vb,c# etc) or using unmanaged code(vc++). & what are the problems that could arise by using unmanaged code.
you can reply me at: n.chudekar.31@gmail.com
hoping for your kind co-operation.
thanks n regards,
nikhil.
|
|
|
|
|
Hi,
I succeeded using COM objects from my Java program using the Java Callable Wrappers (JCW)
I used Microsoft JVM and Microsoft JDK to implement JCW.
Will the same run on SUN Java VM as well under Microsoft Windows Platforms?
If not, then how can I use COM objects from java programs that runs on SUN Java VM under Microsoft Windows Platforms?
Thanks in advance
cheers
Varghese Paul
|
|
|
|