|
|
Kinda. They return the group names, not SID's and are a total pain in the ass to work with; you have to everything twice, once for networked groups and once for local and they only work with Unicode strings. I was hoping for some function that I could just call and it would return a list of SID's.
|
|
|
|
|
> Kinda. They return the group names, not SID's
What about GetTokenInformation with TokenGroups as TokenInformationClass?
Tomasz Sowinski -- http://www.shooltz.com.pl
|
|
|
|
|
Hi All,
I have a problem with disconnected recordsets.I have a component.One if it's function will get the selected Records in a Database.I am passing the Recordset pointer from the server to the Client.I am using disconnected
recordsets for this.
I can see that at the server side I am getting the Recordset
pointer.But, I could not get this pointer on the client side.
the function has the protoype
STDMETHODIMP GetSpecificElements( [out] IUnknown **ppRecordset);
I could get the Recordset pointer at the server side, but could not pass it to client.I am using Client side cursor(adUseClient) and standard
Marshaling.I am using some user defined classes inside this function to Open Database and get the Recordset Pointer .I could get the Recordset Pointer inside these classes , but failed to get
this pointer from this function to client .Does the Disconnected Recordsets vary between ADO and ADOX ?
what could be the problem ?
Thanx in advance for the help.
Regards,
yamini
|
|
|
|
|
Hi!
I need to trap the event that occurs when a checkbox control gains focus.Need to do some validation as soon as this happens.There is no such default event for a checkbox. How do I trap this? Please let me know.
Thanks and Regards,
Leo.
|
|
|
|
|
|
How can I draw on the all the FrameWnd Components like the closebox. I don't mean how to draw the components I mean how to draw on the components.
|
|
|
|
|
|
Hi! I'm trying to write a multi-lingual dictionary program in MFC. It's my first *real* Windows program and I'm sorta stuck on a problem. I was wondering if anyone could tell me how to get a CDocument pointer from inside a dialog class. If anyone could help I'd really appreciate it if you could e-mail me at Taluesin3@juno.com. TIA
Taluesin
|
|
|
|
|
pass it a pointer from the view (or whatever) class before showing the dialog
---
"every year we invent better idiot proof systems and every year they invent better idiots"
|
|
|
|
|
Hi,
Is it possible to use a tree control in a dialog to get the following comportment:
when I select an item, the dialog changes his controls a similar way of a Tab control or property page ?
Thanks,
Claude
Claude
|
|
|
|
|
Yes, it's possible. Handle the TVN_SELCHANGED notification and change the contents of the dialog.
Tomasz Sowinski -- http://www.shooltz.com.pl
|
|
|
|
|
do you have any sample?
Thanks
Vu
vucsuf
|
|
|
|
|
I need to implement text file input and output for a pocket pc application. Embedded VC++ no longer supports ReadString and WriteString function of CStdioFile class. Is there any way to do this?
bo
|
|
|
|
|
Hello,
How do I know when another window (other apps or folders) are being dragged over my client window? I ended up overriding OnErase, so I'm having to catch most of the messages which effect the view. OnActivateView or OnShowWindow don't do this. Is there another message that tells my client that I have to redraw my client? This would apply even if my app isn't in focus and foremost.
Right now, I'm getting ghost images of folders and everything which are getting dragged over my app client window (menus and icons are redrawn automatically though).
Please help if you can.
|
|
|
|
|
I don't think there's some special message - when your client area is invalidated after dragging, the window receives WM_PAINT/WM_ERASEBKGND. Are you sure your handlers are OK?
Tomasz Sowinski -- http://www.shooltz.com.pl
|
|
|
|
|
Well, the thing was, OnDraw only draws when necessary, and I had no means to detect window movement over the client. Erase won't occur either as I had overriden it. So the end result was the ghoust images of windows being dragged over it. Isn't there a message to detect a child of the client over it? Like when tool bar floating over client, how do I detect that sort of floating window getting dragged around within client?
|
|
|
|
|
Would it help if you put a little code in your OnEraseBkgnd to check if your app has the mouse or focus? If a call to GetCapture, e.g., reveals that the window with the mouse capture is not yours, there's a good chance that the WM_ERASEBKND is one you should act on.
|
|
|
|
|
Hi, everyone.
I have got the problem,the problem is that I made MDI (RichEditView based class) application n i also created a dialog on the MDI, But i am not understanding how can i pass the data from dialog to CRichEditView.However i gave the dialog, base class to the same existing view.Plz explain it to me in detail...
Thanx.
|
|
|
|
|
How do I copy an Icon (I got a handle to HICON) into the clipboard?
Thanks,
Jignesh
|
|
|
|
|
I am working on a project where I would need to remove a file safely (owerwrite the file data with other). How can I access the cluster directly within a MFC program?
|
|
|
|
|
I'm making a couple of assumptions here, so if this isn't what you're looking for provide additional detail...
You can create a CFile, and open it shareExclusive, that will prevent others from working with it or reading it while you have it open.
You can then Seek to a specific location within the file, and write your new data to that spot, then close the file.
Check out the documentation for CFile.
Hope this helps
Jeff
|
|
|
|
|
Hi!
Recently, I've figured out a method to build a linked list of items
in an .exe before WinMain gets called. The method relies on the fact
that a global instance of a class will always call it's contructor
before WinMain is called. Some example code of what I'm doing:
cLinkedList g_List; // my linkedlist of data. it's global and currently empty
class cListBuilder // this class will add a new node in the linkedlist
// when a variable of this class is declared
{
cListBuilder()
{
cData* poData = new cData;
g_List.AddNode("NodeName", poData);
}
}
cListBuilder ListBuilder; // because this is a global, it's constructor is
// called first, right before WinMain, filling the
// linked list with one node.
int WinMain()
{
// by the time we get here, m_gList has one element
printf("NumNodes: %d\n", g_List.GetNumNodes());
}
I just made up the code from memory, so it might not compile out of the box.
Anyway, this works inside an .exe, but it doesn't when I try this method inside
a DLL. The implementation differences being that:
1) g_List is now declared in it's own seperate .cpp file (gList.cpp)
2) WinMain is replaced by DllMain (duh). The function is now seperated into
it's own file, DllMain.cpp. It calls "extern cLinkedList g_List" to have
access to the list.
3) the decleration of cListBuilder is in it's own .h as well. (cListBuilder.h) It
gets g_List by calling "extern cLinkedList g_List", the same way DllMain.cpp does
So now, the project looks like this:
-- gList.cpp -------
cLinkedList g_List;
-- End gList.cpp ---
-- cListBuilder.h ------
extern cLinkedList g_List; // the g_List *should* be coming from gList.cpp
class cListBuilder // this class will add a new node in the linkedlist
// when a variable of this class is declared
{
cListBuilder()
{
cData* poData = new cData;
g_List.AddNode("NodeName", poData);
}
}
static cListBuilder ListBuilder; // now declared static to have it persist
-- End cListBuilder.h --
-- DllMain.cpp ---------
extern cLinkedList g_List;
int DllMain()
{
// g_List *should* have one node in it when it reaches here.
}
-- End DllMain.cpp -----
That's pretty much how my project looks like right now. It's very
similar to what I was doing before in the .exe. The problem is
that by the time I reach DllMain, the linkedlist is empty even
though cListBuilder::cListBuilder() was called. I placed a break
point inside the constructor, and it definately stops there. The
constructor does add the new node to the linkedlist without fail.
But, like I said, by the time I reach DllMain, it's like I never
touched g_List. It's like the actions I did inside cListBuilder::
cListBuilder() are completely forgotten as soon as I go out of
the scope of cListBuilder.h. And the g_List's destructor never
gets called, either, so it's not like it actually empties the list.
The problem is compounded when I add more files like cListBuilder
that try to add more nodes inside g_List. For example, if I added
a new file to the project called cListBuilder2.h that looked like:
-- cListBuilder2.h ------
extern cLinkedList g_List; // the g_List *should* be coming from gList.cpp
class cListBuilder2
{
cListBuilder2()
{
cData* poData = new cData;
g_List.AddNode("NodeName2", poData);
}
}
static cListBuilder2 ListBuilder2;
-- End cListBuilder2.h --
So, because I now have ListBuilder and ListBuilder2 declared as global static
variables, they both would try to add a node into g_List. But the weird thing
is that if ListBuilder's constructor gets called first and adds a node, by the
time ListBuilder2's constructor is called, the list is magically empty again.
Then ListBuilder2 would add it's own node and then by the time we reach DllMain,
the list is empty once more.
I can't figure out why this doesn't work in a DLL when it works perfectly in
an .exe. I don't know how Dlls handle global variables differently than
executables.
I'm not quite sure if I actually explained the problem really well. It's a pretty
weird situation, if you ask me. So, if anybody has any insight into this, it would
be really helpful. I can try to clear this up some more, if I can.
Thanks for taking the time to read this monster post.
Steve
wrlddomprod@hotmail.com
|
|
|
|
|
Hi,
It's very late here, so I have to be brief: probably you hit the problem with order of constructors called. Your list and list builders are global. There's no way to guarantee that list c'tor will be invoked first. Just put the breakpoints in list constructor to check it out.
Hope it helps and goodnight
Tomasz Sowinski -- http://www.shooltz.com.pl
|
|
|
|
|
I think its a problem of visibility. Now that you have several declarations of g_List, there's some subtlety of the linkage that isn't tying them to one object. Almost as if there's no defining object, though intuitively I would think there is (the one without the extern).
To test, you might look at the address of the g_List at the points when g_List.AddNode is called. If you get different addrs, I'd say its not a DLL specific problem, but rather falls under the category of storage class specifiers.
-----
#include "just_a_theory_disclaimer.h"
|
|
|
|