|
this post have been moved to the COM forum, oops
|
|
|
|
|
Hi...
i am very new to wtl and atl....first i was wondring if i have wtl libraries does it mean i have atl too?
second how can i display another dialog in application?
imagine i have a main dialog and with clicking on a button i want to show anoother dialog....how?
also why mostly ppl try to call createdlg and not createwindow for other dialog?any diffrence?
Sorry if very newbie questions...
Thanks
Roozbeh
|
|
|
|
|
ATL comes with Visual C++.
There's nothing special about showing a second dialog, it's the same as the first one. Create a class for it, create an object of that class and call its DoModal()
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
"Just because the box has 2 gigabytes of memory doesn't mean you get to use it all!"
-- Rico Mariani, CLR perf guy
|
|
|
|
|
Hello everyone:
I want to use some XML functions in a WTL project.
Can XML be used in a wtl project?
Where is there any sample?
Thank you.
-Freehawk
|
|
|
|
|
Yes it can be used.
MSN Messenger.
prakashnadar@msn.com
|
|
|
|
|
Hello everyone:
I have a wtl program. It run ok on windows 2k, XP, but there are a bug when it run on window98 windowsMe and windows NT4.0. On the windows Me, the tool window moved to the back of main frame even if it is actived. It looks like having something to do with "SetFocus" and so on. But I dont know why?
who met some troubles like me? Could you help me?
Thank you.
-Freehawk
|
|
|
|
|
Hello everyone:
I have some big size text files, How to insert/delete some content of text file fastly in a WTL project?
Thank you.
-Freehawk
|
|
|
|
|
I have created a simple mfc activex control which works in the activex control test container.
Now I have have created an stl program and use #import to pull in definitions of the control and a wrapper class.
Next I have a function:
HRESULT hr;
_DMysearch *pSearch;
const IID IID_DMysearch = { 0x2887adc2, 0xeba1, 0x4ca9, { 0xb3, 0x58, 0x15, 0xae, 0xf, 0xd2, 0xb9, 0x6a } };
const CLSID CLSID_mysearch = {0x4ae8deda, 0xee97, 0x47ee,{ 0x9c, 0xcc, 0xd, 0x1b, 0x4b, 0x99, 0x6b, 0x88}};
::CoInitialize(NULL);
hr = CoCreateInstance (CLSID_mysearch, // CLSID of coclass
NULL, // not used - aggregation
CLSCTX_INPROC_SERVER, // type of server
IID_Dmysearch, // IID of interface
(void**) &pSearch ); // Pointer to our interface pointer
if ( SUCCEEDED ( hr ) )
{
long res = pSearch->test();
}
else
{
// Couldn't create the COM object. hr holds the error code.
}
I get as far as pSearch->test() which is a simple long function with no parameters and I get an exception from com_dispatch_method.
any ideas?
jema
|
|
|
|
|
I have created a ATL exe service and added a interface to it....
I registered it and run it.
But for somereason sometimes the atl service starts automatically on its own making multiple copies in the memory..
can any one explain why it happens ?
here is createservice that is called, i belive something is in here but not able to figure it out.
SC_HANDLE hService = ::CreateService(
hSCM, m_szServiceName, m_szServiceName,
SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS,
SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL,
szFilePath, NULL, NULL, _T("RPCSS\0"), NULL, NULL);
Thanx in advance.
MSN Messenger.
prakashnadar@msn.com
|
|
|
|
|
The MFC CFormView is a view but using a dialog resource for UI, which makes modifying the UI layout very easy, I think this class is great(at least for me). But when shifted to WTL, I cannot find a class(or I missed?) like the CFormView. So anyone got a clue or has implemented such a class would mind to share with me?
I'm new in WTL(even in ), and I've searched this forum with keyword "FormView"/"Form View" but just got "no results". So if you think my question is stupid, please forgive me. ^_&
Thanks for any reply.
=================
Sorry for my poor English.
|
|
|
|
|
You can create a app with a form view with the WTL appwizard but there is no FormView class, the view uses CDialogImpl
/Magnus
- I don't necessarily agree with everything I say
|
|
|
|
|
Thanks for your reply, I'll try it later.
Thank you.
|
|
|
|
|
I've created a Connection Page (in the Data Source Object of my OLE DB Provider) to be displayed by the Data Link core component.
Now I'm trying to add a tab control on the page using CreateWindow with the WC_TABCONTROL class (being registered through InitCommonControlsEx(...).
But I can't get the Instance Handle needed by CreateWindow,
because
hInst = (HINSTANCE)::GetWindowLong(hwndParent, GWL_HINSTANCE);
always returns 0x0000000.
(I've received the hwndParent through the IPropertyPage::Activate Method, that's being called by the Data Link core component)
How can I get that Instance Handle? Or is there another way of using a tab control on my property page?
|
|
|
|
|
Hi All,
I have a COM component which supports outgoing interface IDataCallback,which calls OnDataChange event.
When client Get Connectionpoints and Call Advise for Server,i want to fire OnDataChange.Where should i Know that Client has called Advise so that i should send him OnDataChange callback,just to show that callback is working.
In normal working i am sending OnDataChange whenever data Changes in my server,but i want to send this first OnDataChange as soon as Client call Advise.
Where should i write the code for this?
Code for my server is like this:
class MyServer;
typedef IConnectionPointImpl <myserver,&iid_idatacallback,ccomdynamicunkarray> DataCallback;
class ATL_NO_VTABLE MyServer :
public IInterface1,
public IInterface2,
public IConnectionPointContainerImpl<myserver>,
public DataCallback,
public CComObjectRootEx<ccommultithreadmodel>
{
---
}
Thanks in advance
Tushar.
|
|
|
|
|
Because you're deriving from IConnectionPointContainerImpl, then it's doing all the hard work for you.
You might be able to provide your own implementation of Advise, but you'd need to make sure you called the templated implementation first, then fired the event (if successful). Don't know whether (a) this is possible or (b) it's allowed, since you're effectively firing an event before Advise has completed, so I don't know if there's COM runtime magic involved.
Steve S
|
|
|
|
|
Hi, i need an ADDin for Word 2000 ( XP and 2003 too) that has an dialog box
like a ATL Composite Control ( VC 7.1).
The problem is when this control is inserted in the Word (insert object) and lost focus,the dialog disapear (seems like the WM_PAINT don´t be triggered).
The control draws it self only when i "double click" the control.
I read some articles that this behavior is because the Word Container
don´t give us an Window to draw when the control is without the focus.
In VB, the control don´t disapear only in the Word.
Can anyone help me ?
thanks
|
|
|
|
|
Is there a way to save the web page contents to an image. Just the contents, no toolbar, no status bar. In other words print web page to image file??
Thanks a lot.
|
|
|
|
|
Hi everybody
I have written an ATL 3.0 project including two sample classes named CAttachment & CAttachments. These classes have interfaces IAttachment & IAttachments in order. IAttachments has got a method named "Item" that returns a result of the type of IAttachment. But before returning the IAttachment, I want to call some member functions of the CAttachment class to setup the IAttachment properly. I know how to create the IAttachment interface, but I don't know how to have access to the members of the CAttachment from the "Item" method. I will be thankful if anybody replies to me.
Regards,
Roozbeh.
|
|
|
|
|
CAttachement *pAttach;
IAttachment pIAttach;
pAttach = (CAttachement*) pIAttach;
pAttach can now call the class members of the its class.
This space is empty.
|
|
|
|
|
*bzzt* Wrong way. This should never ever be done. You can never be certain what pIAttach points to. Any COM book will tell you this at least a dussin times.
A better way to gain access to members of CAttachment is to use CComObject<CAttachement> instead.
CComObject<CAttachement>* pObj;
HRESULT hr = CComObject<CAttachement>::CreateInstance(&pObj);
pObj->AddRef();
pObj->member = value;
pObj->InterfaceMethod();
IAttachment* pAtt = pObj;
--
Unser Tanz ist so wild! Ein neuer böser Tanz.
Alle gegen Alle!
|
|
|
|
|
yeah correct.
Code Review Correction.
if(pObList == NULL)
{
pObList = NULL;
delete pObList;
}
MSN Messenger.
prakashnadar@msn.com
|
|
|
|
|
Surely not.
if (pObList != NULL)
{
delete pObList;
pObList = NULL;
}
unless, of course, you've worked where I'm working at the moment, where apparently that would be an acceptable style of coding.
Steve S
|
|
|
|
|
Steve S wrote:
Surely not.
sure i aggree with you, it was the code review correction that i gave to my coworker (its a mistake that i asked him to correct it)
but for some reason, that piece code works perfectly, coz deleteing null pointer is ignored.
MSN Messenger.
prakashnadar@msn.com
|
|
|
|
|
Indeed
However, unless somewhere there is a corresponding delete for non-null pointers, I suspect you might have at the very least some diagnostics about leaks when running under the debugger.
Steve S
|
|
|
|
|
Steve S wrote:
unless somewhere there is a corresponding delete for non-null pointers
no this is was the only delete for that object in the dtor. Yes there was a memory leak in this case and other places.
I just placed it in my sig to show that how stupid anyone can get to write that kinda of code.
But then i removed it coz i thought it was not rite to make a joke of others programming pratice.
MSN Messenger.
prakashnadar@msn.com
|
|
|
|