|
did you see MSDN for resolve
whitesky
|
|
|
|
|
yeah but that did not help me.......
can u tell some solution?
|
|
|
|
|
looking at the MSDN[^], they say that :
"To resolve this error, provide a definition for symbol or remove the code that references it"
have you checked this ?
TOXCCT >>> GEII power
[VisualCalc 3.0 updated ][Flags Beginner's Guide new! ]
|
|
|
|
|
yeah man i hav checked it but really it is not workingggg
tell me something innovative thing that u know.....else keep quit.
|
|
|
|
|
hey you...
not only you don't provide enough informations so that we can plainly understand where you problem comes from, but now you're hurting me because i don't help you enough ?
come on !!! who are you to tell me what to do ? do you pay me to help you ? do anyone here give me money to give help on CP ? are you here for long enough to tell me the do and don't of codeproject ?
now, i tell you one last thing. i'm TRYING to help you. if you don't explain WHERE - in the code - you're having the problem (giving a code sample would be great), don't expect anybody to do a miracle only because you're too lazy to find an answer by yourself. i'm ok to help you, but provide valuable infos.
TOXCCT >>> GEII power
[VisualCalc 3.0 updated ][Flags Beginner's Guide new! ]
|
|
|
|
|
THIS[^] note from the webMaster is definitely for you.
cool_frozen wrote: WHO THE HELL R U TO SAY ME NOT TO POST ONE MESSAGE MORE THAN ONCE
only a modest CP protector who loves this site and tries to preserve it from some guys who don't respect the rules dicted by the webmaster.
cool_frozen wrote: SO NO NEED TO TELL ANYONE SUCH THINGS THAT DIRECTLY HURT.........
i did so because you're definitely not trying to understand what i'm explaining to you... see, now, you're shouting... perfectly useless
cool_frozen wrote: THAT IT IS UPLOADED TWICE...THAT WAS THE THING...
well i did it because most newbies on this site don't know the rules and enforces them voluntarily...
cool_frozen wrote: IT REALLY HURT ME.......
sorry for that, but you hurted me too by not having deleted the message when seeing it's been there twice.
cool_frozen wrote: WELLL I DONOT WANNNA ANY HELP FROM U.......I WILL DO IT MYSELF
if you wish... that's stupid behavior, but i'm ok with that.
bye sir (and learn controling yourself, otherwise you will get into troubles evertime in your life)
TOXCCT >>> GEII power
[VisualCalc 3.0 updated ][Flags Beginner's Guide new! ]
|
|
|
|
|
|
Hello,
I have developed an application in vc++, mfc using Access as the database connected with DAO.
I have to create a installable version for the application. The setup should have a product key, should create a desktop shortcut and a system tray icon.
I have InstallShield for vc++6 . Please can you guide me on how to go about doing this.
In my program, at present I have specified the path where the Access file is. ie. I have given the path as
CString strPath ="C:\\store\\store.mdb"
But when I create the setup file, when the user installes the program, I want the path in which the user has installed the program to be taken as the path for the database.
Does the programming for the desktop icon, system tray icon, and path of database have to be done in my main program itself, or when creating the setup file.
Kindly advise.
Thanks,
Tara
Fortitudine Vincimus!
|
|
|
|
|
In additional you can use form c:\WINDOWS\system32\iexpress.exe
whitesky
|
|
|
|
|
WhiteSky wrote: In additional you can use form c:\WINDOWS\system32\iexpress.exe
Thanks.
Please may I konw where do I do the codeing for creating a desktop icon, and the system tray icon? And also the path of the database? Suppose I the set the program to find the path of the exe file and set the path to that would that be a better solution?
|
|
|
|
|
Tara14 wrote: Does the programming for the desktop icon, system tray icon, and path of database have to be done in my main program itself, or when creating the setup file.
I think you need to set the path to the database and to create all that shortcuts from the setup application. So you need to modify the script from the InstallShield. You could try a newer version available on http://www.macrovision.com/downloads/index.shtml[^] for evaluation.
|
|
|
|
|
Tara14 wrote: oes the programming for the desktop icon, system tray icon, and path of database have to be done in my main program itself, or when creating the setup file.
look for INNO setup!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You
|
|
|
|
|
Hello,
I took a look at Inno setup. I have never created a setup file before, so I do not know which one is better. I looks like it is easy to use though, compared to InstallShield.
So the Inno setup will take care of creating the desktop icon and the tray icon. But I still am not sure how to set the path for the database. I mentioned earlier that I could code my program to look in the same folder where the exe file is located and set it as the path. Is that the right solution?
Any help will be highly appriciated.
Thanks,
Tara
Fortitudine Vincimus!
|
|
|
|
|
I'm using VSS interface in my program.
I'm getting the latest version of the file by using Get function in IVSSItemPtr.
IVSSItemPtr vssi;
COleVariant varBuf(strProjectFolder);
vssi = m_vssdb->GetVSSItem( varBuf.bstrVal,0);
vssi->Get( NULL,VSSFLAG_USERRONO | VSSFLAG_RECURSYES | VSSFLAG_FORCEDIRYES | VSSFLAG_GETYES );
The above code works perfectly for me. It gets the latest version. But I'm suffering from biggest disadvantage. Once this function is called it disables my main application. No messages are handled by main window, when the Get function is called. Once that function execution is finished then only Window accepts messages. Till then all the messages are blocked. Even all the threads are suspended. For large folders when we use Get function, it's takes very long time and it's quite annoying that Window gets disabled and all background threads are suspended. Is there any way to overcome it? I wanted to monitor the status of the Get function. Is there any way to run background thread to monitor it? Can we enable the Window to accept messages.
Thanks,
Stanly
|
|
|
|
|
Why not do it the other way around, and spin off a new thread to perform the get?
Of course, you'll need to coinit your new thread and marshall your interface into the new thread, but that isn't exactly rocket science. Your 'get' thread can post a message when it's complete.
Unfortunately, there don't appear to be any useful events that fire during the get, so you can't "monitor" as such. An alternative would be to handle the recursion yourself in the thread, and have the thread post messages to your UI thread or a window.
The application 'hangs' for a simple reason; the UI thread it isn't pumping messages, because the call hasn't completed yet. When you say the threads are suspended, I'm guessing that none of them have their own message loops.
Steve S
Developer for hire
|
|
|
|
|
Thanks a lot for responding. I tried using thread to perform 'get'. In this case also, once the 'get' function is called application is not responding to any messages even the message loop of each thread. The 'get' completely blocks other messages. I tried using recursion mechanism to 'get' file. There is a major drawback for this method. The performance is affected to a large extent. It's take very long time to get a big folder because it has to recurse to each folders and subfolders. Thats why I thought of shifting to single call mechanism to 'get' whole folder. Can you please help me with this problem?
Thanks,
Stanly
|
|
|
|
|
It is a lot of work (in terms of CPU time) to get a large folder and any subfolders. If you do it using the SourceSafe UI, time it and see how long it takes - and then compare that with your single get, and if possible, your recursive version.
Doing the automation work can be a bit of a pain, but if your code is reasonable, it shouldn't be that much worse than using the SS UI.
What exactly are your other threads doing, and have you adjusted the priority of them? It sounds like you're just CPU starved, and while SS uses a lot, you should be able to do other things at the same time - I have a snapshot utility that replicates a given SS db to a new SS db (eliminating any history) and I can run other stuff along side it, although I have a P4 2.8GHz cpu ...
Steve S
Developer for hire
|
|
|
|
|
I found that the CPU is much lesser(30%) than total CPU available. The single get is much faster than recursive version and also it's faster than SS UI.
It's better than SS UI.
The VSS database is located in remote machine. Is it because of reading from remote machine makes the application to freeze? One thread is to monitor the content of one folder. The control is never reaching this thread, once the 'get' function is called. I tried using timers also, timer event is also not happening. Thanks a lot for your help.
Thanks,
Stanly
|
|
|
|
|
stanlymt wrote: One thread is to monitor the content of one folder. The control is never reaching this thread, once the 'get' function is called. I tried using timers also, timer event is also not happening.
How do you know that the thread is not running? Does it have it's own windows and message loop, or are you outputting to a debug window (TRACE/ATLTRACE/OutputDebugWindow)?
The single get will be faster, but then you have to do your own monitoring of progress, which means looking for file change notifications etc. I suggested the recursive version because you said you wanted to have progress notifications, and this would be one way. I'm guessing that the SS UI does it this way, since there aren't events that get fired (at least, not that we get told about!).
It might be the STA that's contributing to the lockups. You could try using CoInitializeEx to get an MTA instead (in both the main thread and the get thread), and see if that helps at all.
When you say timers, do you mean SetTimer(), which will only cause WM_TIMER to be pulled out of the queue, which, as you're not pumping msgs, won't be happening....
Steve S
Developer for hire
|
|
|
|
|
I know the control is coming to that thread because I've put some debug logs which was not printing. I think I'll go for recursive version.
Thanks a lot for your help.
|
|
|
|
|
BOOL WriteFile(
HANDLE hFile,
LPCVOID lpBuffer,
DWORD nNumberOfBytesToWrite,
LPDWORD lpNumberOfBytesWritten,
LPOVERLAPPED lpOverlapped
);
BOOL ReadFile(
HANDLE hFile,
LPVOID lpBuffer,
DWORD nNumberOfBytesToRead,
LPDWORD lpNumberOfBytesRead,
LPOVERLAPPED lpOverlapped
);
|
|
|
|
|
It's understandable from Parameter names
check MSDN
CHeck MSDN[^]
SaRath.
"Where I am from, there is no plan B. So, take advantage of today becuase tomorrow is not promised. - 50 Cent"
My Blog | Understanding State Patte
|
|
|
|
|
WriteFile is for write to file and ReadFile is for read from file see
<br />
CString WriteToFile;<br />
HANDLE hFile;<br />
DWORD dwRead;<br />
WriteToFile="This is a test";<br />
<br />
hFile=CreateFile((LPCTSTR)"c:\\test.txt",GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);<br />
<br />
DWORD m_dwSize=WriteToFile.GetLength();<br />
BOOL bResult=WriteFile(hFile,(LPCTSTR)WriteToFile,m_dwSize,&dwRead,NULL);<br />
CloseHandle(hFile);<br />
<br />
CString strRead="";<br />
DWORD dwReads=0;<br />
hFile=CreateFile((LPCTSTR)"c:\\test.txt",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);<br />
<br />
DWORD dwBufferSize=GetFileSize(hFile,NULL);<br />
<br />
bResult=ReadFile(hFile,strRead.GetBuffer(dwBufferSize),dwBufferSize,&dwReads,NULL);<br />
<br />
MessageBox(strRead);<br />
CloseHandle(hFile);<br />
<br />
And see MSDN
whitesky
|
|
|
|
|
Hi,
Does any one know how to get a security descriptor from SID . I got the SID of a user using LookupAccontName API. I dont now how to get the security descriptor corresponding to the SID.
Thanks in advance
|
|
|
|
|
See Here[^] and this[^]site maybe it is some helpful to you
whitesky
|
|
|
|
|