|
I have tryed to use the function you have told me to. But i failed to use this. might be becoz i am novice programmer in VC++.
I dont know what error come but I fail to retrive the File name.
void ReadFileChange(void)<br />
{ <br />
OutputDebugString(" ReadFileChange() ");<br />
char* path = "C:\\DOCUME~1\\gaurang\\LOCALS~1\\Temp";<br />
BOOL Success;<br />
DWORD dwByteReturned;<br />
FILE_NOTIFY_INFORMATION Buffer;<br />
<br />
int size = sizeof(FILE_NOTIFY_INFORMATION);<br />
<br />
HANDLE hDir = CreateFile(path,FILE_LIST_DIRECTORY,<br />
FILE_SHARE_READ|FILE_SHARE_DELETE, <br />
NULL,OPEN_EXISTING, <br />
FILE_FLAG_BACKUP_SEMANTICS,NULL<br />
); <br />
<br />
Success = ReadDirectoryChangesW(hDir,&Buffer,64,FALSE,FILE_NOTIFY_CHANGE_SIZE,<br />
&dwByteReturned,NULL,NULL);<br />
if(!Success)<br />
OutputDebugString("Read Directory Change Failed ") ; <br />
OutputDebugStringW(Buffer.FileName);<br />
<br />
}
I dont know what to use in as the size in Buffersize parameter. so I just took 64.
|
|
|
|
|
Gaurang Shah 033 wrote: I dont know what to use in as the size in Buffersize parameter. so I just took 64.
some pblms in the code. i have corrected it. Check it. the pBuffer->FileName will be having the file name.
char* path = "C:\\DOCUME~1\\gaurang\\LOCALS~1\\Temp";<br />
BOOL Success;<br />
DWORD dwByteReturned;<br />
int size = sizeof(FILE_NOTIFY_INFORMATION) + (MAX_PATH * 2);<br />
FILE_NOTIFY_INFORMATION* pBuffer = (FILE_NOTIFY_INFORMATION*) new BYTE[ size ] ;<br />
HANDLE hDir =CreateFile ( path,<br />
GENERIC_READ,<br />
FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,<br />
NULL,<br />
OPEN_EXISTING,<br />
FILE_FLAG_BACKUP_SEMANTICS,<br />
NULL<br />
);<br />
Success = ReadDirectoryChangesW( hDir,pBuffer,size,FALSE,FILE_NOTIFY_CHANGE_FILE_NAME, &dwByteReturned,NULL,NULL);<br />
delete pBuffer;
|
|
|
|
|
Hello,
If I want to write an equality operator for a menu class derived from CMenu than can I write as follows
class Menu : public CMenu
{
Menu& operator= (Menu& M) ;
};
Menu& Menu::operator= (Menu& M)
{
this->m_hMenu = M.m_hMenu;
return *this;
}
Will this equate one Menu = Another Menu ?
Are there any hidden problems?
Thanks
Prithaa
|
|
|
|
|
prithaa wrote: Menu& Menu::operator= (Menu& M)
you have overloaded assignment operator, not == operator. So you will be able assign one menu to another menu.But cannot compare. Also there is a potential problem. Suppose you wrote like.
Menu A;
{
Menu B;
B.create(..)
A = B;
}// Menu b goes out of scope and the menu inside it will get detroyed. So what Menu A will be having is an invalid handle.
|
|
|
|
|
Have you considered just using the IsKindOf() method?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
I am developing application which has to use third party dll,(for scanning)who only has described exported functions with function definition.
After I developed a application,which gives proper result but it gives assertion in debug mode at each and every call of function imported from dll. Following is assertion.
"The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention."
And after completion of process (scanning) application terminates.
I read articles from google,msdn and included __stdcall ,WINAPI ,combination
but error comes as it is. In release mode assertion does not come.but application crashes everytime. I cannot debug it as application is terminating after passing end of function call. Only all it shows in debug is access violation and all binary code.
|| ART OF LIVING ||
|
|
|
|
|
Hi
I have a dll application, which was compiling/linking fine and working correctly. I have to add a function to say class B.cpp/B.h which is similar to another function in another class say A.cpp/A.h. So I copied the function from A and made changes and added it to B. When i compiled it, there was a undeclared identifier error on a function. I checked where the function was defined and added
#include xyz.h on the top of the B.cpp.
When i compiled it now, it gave me lots of LNK2005 error with message "already defined in B.obj". I worked mostly in C#, so have on idea of this linking issue. Most of the google searches ask me to change project settings, which is not solving the problem.
Regards
Shajeel
|
|
|
|
|
Its very simple.
Project - > settings
Go to linker tab.
In linker tab project options edit box at end , just add
-------> /FORCE:MULTIPLE
Press ok.
I hope your problem will be solved.
|| ART OF LIVING ||
|
|
|
|
|
I am using VS 2002, can you tell me settings for that as i don't have any Project -> settings options here.
Regards
Shajeel
|
|
|
|
|
I am sorry I am using vc 6.0 only.
|| ART OF LIVING ||
|
|
|
|
|
Hello,
I have a question in the same regard. Just now I tried what you suggested /FORCE:MULTIPLE since I was getting Linker error saying 'already defined'.
Now because the settings are changed I get warnings saying that the 'x identifier already defined in MainFrm.obj; second definition ignored'
So should I stick on to these new settings because even I tried all of the following for my identifier consts file
#pragma once
#ifndef
#define
#endif
But none of the above worked.With your suggestion the errors are transferred to warnings.
What exactly this /FORCE:MULTIPLE do?
Thanks
Prithaa
|
|
|
|
|
Force multiple just ignores second definition with same name.
It is generally risky for very big projects in VC++. But I never found it that risky.
|| ART OF LIVING ||
|
|
|
|
|
Hello,
Thanks,
For now my problem is solved.I'll keep this in mind.
Bye
Prithaa
|
|
|
|
|
prithaa wrote: What exactly this /FORCE:MULTIPLE do?
See here.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
/FORCE:MULTIPLE?
Just adding a function to another class shouldn't give new linker errors,
unless you never define the function.
Did you copy the function and not change the scope resolution stuff?
With namespaces and classes (C++!) there shouldn't ever be multiple
definitions.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Hello,
Because of this FORCE:MULTIPLE my linker errors "already defined in another class' have become warnings so is that fine?
I had tried using
#pragma once
#ifndef
#define
#endif
but none of them worked
Thanks
Prithaa
|
|
|
|
|
I'm just suspicious -
What is defined twice in two different classes ? Is this really what you want?
Hiding it with a linker option may not be the best solution
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
I am trying to expose bitmap from active x control.
I am trying to expose BYTE pointer from active x control.
Can anyone give some suggestions
S.Yamini
|
|
|
|
|
How can data be transferred into excel sheet 'row and column-wise' the way we do in list control?? My first row consists of fixed column names
|
|
|
|
|
For this bubbdy you have to use COM and you have to import some of the library files into your project like this below
#import "D:\Program Files\Microsoft Office\Office\mso97.dll" no_namespace rename("DocumentProperties", "DocumentPropertiesXL")
#import "D:\Program Files\Common Files\Microsoft Shared\VBA\vbeext1.olb" no_namespace
#import "D:\Program Files\Microsoft Office\Office\excel8.olb" no_auto_exclude rename("DialogBox", "DialogBoxXL") rename("RGB", "RBGXL") rename("DocumentProperties", "DocumentPropertiesXL") no_dual_interfaces named_guids rename_namespace("EXL")
and after that use this link
http://msdn2.microsoft.com/en-us/library/aa155776(office.10).aspx[^]
Regards,
Pankaj Sachdeva
"There is no future lies in any job"
"but"
"future lies in the person who holds the job"
|
|
|
|
|
Hi all!
I use 2 references from .NET Framework:
1. System::Xml (for parsing XML documents and getting data from it)
2. System::Convert (for converting data gained from parsing to my type)
When i use absolutely any Convert method - my app is fall!!! Anyplace to use - class, function, main() - it's fall!
When i use in WinMain app
<br />
System::String^ myString = "String to Convert";<br />
wchar_t myData = System::Convert::toChar(myString);<br />
App is fall, but when i use it in console app - it works fine!
What's problem???
|
|
|
|
|
Ooops. Sorry! Wrong forum!
|
|
|
|
|
Hi Guys,
Would you be able to help me find the code for a program that finds dead links and orphan file in a webpage developed in pure HTML. Actually, its my project for my course. I have tried for weeks and code project is my last hope.......
Thanks
|
|
|
|
|
Have you seen this, or this?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Please help.
Thanks in advance.
Max
|
|
|
|