|
Hello, when calling ReadDirectoryChangesW from a worker thread in DLL I get the following error:
FileMonDlg.cpp(254) : error C2065: 'ReadDirectoryChangesW' : undeclared identifier
Any ideas why this occures?
Thanks.
|
|
|
|
|
Perhaps a Unicode/MBCS issue? Check your project settings. (It's only available for Unicode builds).
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
How to set up a unicode build?
|
|
|
|
|
In VC6, do Projects | Settings | C/C++ | Preprocessor. Select settings for "All configurations". In the "Preprocessor definitions" box, replace _MBCS with _UNICODE . This will likely require you to make your source code Unicode happy (i.e. by using TCHAR , _T and the _t C run time functions). You'll also need to add /entry:"wWinMainCRTStartup" to your linker options for debug and release builds.
If you're confused by all this, please read this[^] introductory article on Unicode first.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Nope, the problem here is (from MSDN):
Client: Included in Windows XP, Windows 2000 Professional, and Windows NT Workstation 3.51 SP3 and later.
Server: Included in Windows Server 2003, Windows 2000 Server, and Windows NT Server 3.51 SP3 and later.
Look at this entry[^] in M. Dunn's FAQ to see how to resolve this problem.
|
|
|
|
|
Why not try ReadDirectoryChangesA, better yet, let the compiler figure it out and use ReadDirectoryChanges.
--
Joel Lucsy
|
|
|
|
|
Because there is no ReadDirectoryChanges or ReadDirectoryChangesA. Weird, huh?
|
|
|
|
|
Sorry, it's available for Unicode only.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
The weird thing is, that after setting the configuration to _UNICODE it still gives this error: undeclared identifier. May be it's something with the DLL?
I'dont have difficulties using this function in dialog based app, but as you can see, I do when I use it in DLL and inside a Thread.
|
|
|
|
|
The answer to the question is the following line in stdafx.h
#define _WIN32_WINNT 0x400
Thank you all for your attention, time and advices ))
|
|
|
|
|
I want to call pure virtual function in constructor
of BASE class,
function will be defined in derived class.
<br />
<br />
class Derived: class Base<Derived><br />
{<br />
firtual void f()<br />
{};<br />
}<br />
<br />
template<class T><br />
class Base<br />
{<br />
Base()<br />
{<br />
f();<br />
};<br />
firtual void f() =0;<br />
<br />
};<br />
Error at link;
How to correct?
Thanks
|
|
|
|
|
what error does it really give a link-time?
TOXCCT >>> GEII power
|
|
|
|
|
|
|
Welcome back, Tomasz
|
|
|
|
|
Thanks, Nemanja. I was just passing by and had a look at good ol' VC board
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Is there a way to change the black highlight to a different colour?
Thanks
|
|
|
|
|
I have a function receiving a BSTR within an ATL project. I have placed a break point in the C++ code a added a watch to the incoming variable. When I create an instance of it within VB (don't start) to test it and pass it a directory path, I am only getting the first letter of the string that should be passed in. Any clues?
STDMETHODIMP CMoses::SetArguments(BSTR dir)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
::AfxMessageBox((LPCTSTR)dir, MB_OK);
CString val;
val = (LPCTSTR)dir;
::AfxMessageBox(val, MB_OK);
root.SetArguments(val);
return S_OK;
}
- Nick Parker My Blog
|
|
|
|
|
By default, strings in the Watch window use the ,s symbol. You need to use ,su for Unicode strings. So, if you have a breakpoint in the SetArguments() method, you should have dir,su in the Watch window.
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
David, thank you very much.
- Nick Parker My Blog
|
|
|
|
|
that's very clear !!
you watch a variable that is a pointer...
what you want from this pointer is to show the string containig the caracters at th folowing addresses, until it encounters a '\0'... that is surely what happened. The second caracter of your string is very certainly a '\0'... watch this !
TOXCCT >>> GEII power
|
|
|
|
|
|
Thank Mike, I just saw that too. The value has to be passed to a function that accepts a LPCTSTR . Should I expect any problems passing a CString to it instead (i.e.; val being of type CString )?
- Nick Parker My Blog
|
|
|
|
|
Is it ok to assign BSTR to CString under non UNICODE compilation?
MSN Messenger.
prakashnadar@msn.com
|
|
|
|
|