I'm looking for a pointer in the right direction, if someone can help.
I need to create an ActiveX control which displays in a frame window and which can be hosted by IE. In other words, rather than a control which sits on the web page's background, I need the control to pop up in its own frame window. As various events happen on the web page, custom methods / properties on the control will be invoked. All the ATL samples and other examples I can find which have a UI / GDI aspect to them just sit on the web page's background. So I'm not sure the best way to go about this.
It would seem that, after creating an ATL project and adding an ATL ActiveX control, there are two options: 1) modify the generated code in the control to somehow make it a window with a frame that floats outside the browser's window. I'm not sure if that's feasible given that IE controls the window's creation and its initial style settings. 2) Make the control that IE knows about UI-free but have it create a frame window / control and perhaps delegate custom interface methods on the "main" control to this control. That seems feasible, but it always helps to see something nominally similar as a starting point.
If anyone could point me to an example or some docs that cover this type of control, I'd appreciate it.
Sombody gave me a book about DCOM and its for VC6.I install VC7 now on my computer.Does ATL7 changes a lot and Does it have lots of difference if I use that book in VC7?
"The path you tread is narrow and the drop is shear and very high,
The ravens all are watching from a vantage point near by,
Apprehension creeping like a choo-train uo your spine,
Will the tightrope reach the end;will the final cuplet rhyme?"Cymbaline-Pink Floyd
You must create proxy/stub DLL for custom data marshaling.
Go to your Obj path and find YourObj.mk, build this make file (you can "Insert Project into Workspace" rename *.mk to *.mak and add this mkae file to Workspace)
and after you register your com obj register produced proxy/stub DLL.
P.S. on build machine you must register proxy/stub file every time you rebuild your COM object project.
If you want to use an interface from a worker thread you must marshal that interface. This makes sure that if the worker thread and the object exists in two different appartments, then the method will be invoked in the proper appartment.
Take a look at the global interface table for an easy way to marshal interfaces.
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
I am new to COM etc and I don't have no knowledge of Marshaling etc.
I have noticed some code "CoCreateFreeThreadedMarshaler(..) etc" created by MFC. Is that what you are talking about ? Please confirm. Or any other pointers or samples would be helpful.
Thanks a lot.
Last Visit: 31-Dec-99 18:00 Last Update: 29-Apr-17 7:43