|
Bah! Now why didn't I think of that?
*Runs off screaming, bashing his head into the walls - Bystanders report hearing the words, "I'm so stupid", repeated over and over.*
<NOTE:This message in no means reflects the actuall thoughts, concerns, or opinions of the author, the president, or the rat living in your walls. Please do not take it seriously, jokingly, lovingly, or at all.>
"Don't tell me I'm smart, I might actually believe you!"
"I once knew a guy who said he was a coder...The FBI arrested him two days later."
|
|
|
|
|
Ahhh. I always forget about that when tinkering with the system clock. It's pretty annoying to have to recompile all the time because one file is out of date somehow.
Todd Smith
|
|
|
|
|
Ok, I'm creating an Installation using MS Install Shield Wizard. My installation has 3 components. I need to know how to see if a certain component is being installed, so that I can place a shortcut on the desktop, and in the startmenu-programs folder, only if that component is being installed. The two components I need to check are named "CFW Source files" and "CFW Server files", the third component is not important for this, because it only contains system dll files. What I'm trying to do, is if the user installs only the source files, then I want to create a shortcut to the project file(circle.dsw). And if the user installs the server files, I want to create a shortcut to the program file(CFW.exe). What I don't want to do, is create either of those shortcuts, if those files are not being installed. I already know how to create the shortcuts. I just need to know how to make them depending upon which component was installed.
"Don't tell me I'm smart, I might actually believe you!"
|
|
|
|
|
I assume you're InstallShield, I suggest looking at their documentation, and support pages and forums. I'm sorry, I'm haven't been InstallShield for a few months now, and it's one of those product that are easy to forget!
InstallShield Forum[^]
and
www.InstallSite.org[^]
There are quite a few nice people there also.
Max.
|
|
|
|
|
Hmm, thanks, I'll check them out, not that I'm gonna leave here for anything. CodeProject it da BOMB!
<NOTE:This message in no means reflects the actuall thoughts, concerns, or opinions of the author, the president, or the rat living in your walls. Please do not take it seriously, jokingly, lovingly, or at all.>
"Don't tell me I'm smart, I might actually believe you!"
"I once knew a guy who said he was a coder...The FBI arrested him two days later."
|
|
|
|
|
We currently use FlushFileBuffers to ensure that writes to our data protection log file are successful. I suggested we use the FILE_FLAG_WRITE_THROUGH flag in the call to CreateFile() to achieve the same result and increase performance but it didn't work. In a simple test of writing out 10000 512byte records we did gain (50secs down to 40secs). However if you run the same test and kill the power half way through a block of garbage is written to the end of the file. The documentation for the FILE_FLAG_WRITE_THROUGH flag implies it is designed to provide better data integrity but in practice it is quite the opposite. Can anybody suggest where the problem may lie or have any experience in optimising file access?
Systems AXIS Ltd - Software for Business ...
|
|
|
|
|
I am getting the warning that the performance counter DLL is not aligned on an 8-byte boundary. I originally thought the warning was being caused by our code, but even the Microsoft sample codes, ScribbleMouse and HWInputMon written by Jeffrey Richter (MSJ Aug 1998), are giving the same warnings when I recompiled them.
I checked the allocation size in the case of the ScribbleMouse, and at 160 bytes, seems to be properly aligned.
Does anyone know of a solution to this, or how to resolve the problem. I have looked at the KB Q262335 referred to below, and have tried various options without luck.
HOWTO: Align Performance Data of a Performance Extension DLL on an 8-Byte Boundary
SUMMARY
When the performance data buffer returned by a performance extension DLL is not aligned on an 8-byte boundary, the performance library (PERFLIB) part of ADVAPI32.dll will report a warning 1016 to the Application Log in Event Viewer. This article explains how the developer of a performance extension DLL can align the performance data on an 8-byte boundary.
Gaulles
http://www.gaulles.com
|
|
|
|
|
In the version information for my app there's stuff like
CompanyName
FileDescription
FileVersion
InternalName
...
SpecialBuild
When my app starts I want to see what the value of SpecialBuild is. Can anybody give any guidance?
Thanks
Chris
|
|
|
|
|
Look for articles on the API routine "VerQueryValue". It isn't easy, but it isn't hard. Just a little goofy.
Tim Smith
I'm going to patent thought. I have yet to see any prior art.
|
|
|
|
|
See GetFileVersionInfo API function or try this[^]
Pavel
Sonork 100.15206
|
|
|
|
|
Heresy! Codeguru? Heresy!
--
Only in a world this sh*tty could you even try to say these were innocent people and keep a straight face.
|
|
|
|
|
Type "Version Information" in the index tab in MSDN and you will find functions such as GetFileVersionInfo.
Cheers,
Fredrik
"Felix qui potuit rerum cognoscere causas."
|
|
|
|
|
I have been trying to find code that will allow me to make an application that can use an exsisting application to enter in data.
For exmaple:
Based on a clients .ini configuration it will pull their client data like
[vpn]
user=0u812
with their information it will add it into the other application password field box so that the application can be automated.
If anyone can point me in the direction that would help in this matter.
I am not even sure what the commands would be, so I am a little lost in this area.
|
|
|
|
|
There are several solution. A quick solution is file-mapping. A robust solution is COM.
Kuphryn
|
|
|
|
|
Do you by any chance have any links that would help teach me on how to write something like that?
I have been losing my mind on this.
|
|
|
|
|
Code Project has a section for COM.
http://www.codeproject.com/com/
Depending on the natural of your application, COM may be overkill. One reason is the fact that COM programming is highly extensive both design and implementation.
As for file-mapping, consider these Win32 API.
CreateFile()
CreateFileMapping()
MapViewOfFile()
http://www.flipcode.com/tutorials/tut_filemapping.shtml
Kuphryn
|
|
|
|
|
Ahh o.k. great.
now for the next part.
o.k. I have my app load the ini data
[user]
info=this is a test
and want it to paste that information into a different application like
notepad
so that when my app lauched it would paste "this is a test" into the notepad text box.
any cool links to do that.
I am not sure what to search for hwnd?
|
|
|
|
|
ahhh never mind. I found it in the com. LOL
thank you very much for your help!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
|
Hello everyone,
I am having problems with threads (still). Here is a breakdown.
I create 3 UI Threads every 30 seconds and I create them with the CREATE_SUSPENDED flag set. I then set a few simple variables and resume the thread. When the thread is resumed I check the DWORD value returned by the resume to ensure that the thread was created in suspend mode and properly resumed. Every think is working fine. Inside the thread I am logging every part of the thread to a text file to insure the thread isn’t hanging anywhere within my functions. Again everything looks perfect, I can see the thread start, run the functions and exit. Yet if I let the program run for 30 minutes or longer I can open the task manager and I see that my program has way TOO many threads. It’s like the thread gets created and started but it doesn’t do anything, it just sits there. Anyone have any ideas on what I can do?? I am stuck!
Thanks,
Rob
|
|
|
|
|
Just guessing here, but since these are UI Threads, what messages are being sent to them and what message will eventually cause the thread to exit?
Chris Meech
"what makes CP different is the people and sense of community, things people will only discover if they join up and join in." Christian Graus Nov 14, 2002.
"AAAAAAAAAHHHHHH!!!!! Those leaks are driving me crazy! How does one finds a memory leak in a garbage collected environment ??! Daniel Turini Nov. 2, 2002.
|
|
|
|
|
I don't send any messages to the thread. I create the thread, set the vars and resume it.. With in the thread I create a socket and try to make a connection to another pc running the same software. If I have an error connecting I PostQuitMessage(0); If it connects I send some info and receive some info, if I receive a bye message I close the socket and post a PostQuitMessage(0).. I log everything to a text file on both machines.. and the networking on both sides works perfect.. I can see everything that the thread is doing and I don't see any problems I can see every thread exit properly on both sides.
The only thing I can think of is that the thread is created and then it resumes but doesn't even go into the InitInstance().. Thats where the logging begins.. If it gets created and never runs InitInstance() I wouldn't see anything bad in the logs..
Rob
|
|
|
|
|
This probably won't fix the problem. OTOH it may make it go away. The general rule that I follow for implementing threads is based on the answer to the question, "Does the thread have to catch Windows messages?" The operative word is catch, not send, cause even a worker thread can send messages. If the answer to that question is yes, then I implement the thread as a UI thread. But if the answer is no, then I implement the thread as a worker thread. Based on the briefest of descriptions that you've supplied, I think your threading should be done within a worker thread. Did you consider this alternative and is there any reason for using a UI thread?
Chris Meech
"what makes CP different is the people and sense of community, things people will only discover if they join up and join in." Christian Graus Nov 14, 2002.
"AAAAAAAAAHHHHHH!!!!! Those leaks are driving me crazy! How does one finds a memory leak in a garbage collected environment ??! Daniel Turini Nov. 2, 2002.
|
|
|
|
|
Yeah, I have thought of using worker threads instead, the only problem is that my main application has a CAsyncSocket derived class that handles all of the network events.. and I needed to create another derived CAsyncSocket class for my thread.. That way the thread can send and receive on its own and so can the main application.. I also tried to get away from using CAsyncSocket and go straight WinSock.. but I saw the same results and CAsyncSocket is much easier to use.. o-well, I'm sure I will figure out this monster eventually..
Thanks for all the replys!
Rob
|
|
|
|
|
Hey Rob,
It appears as if one of two things are happening:
1. The threads are working fine, except they're not being destroyed. In other words, it only seems like every thread is being destroyed but for some reason, they're still running. Monitor your thread count. It should always be constant -- 0 or 3, right? If it keeps going up then they're not being destroyed.
2. Some threads are working fine and others aren't. This seems like an unlikely scenario, since it doesn't make much sense. Why would it not work consistenly if everything inside the threads is working fine, like you say? So... I don't know what to recommend. I'm just hoping it's something easy, like your PostQuitMessage not getting accross or the thread's not being closed, or something. You do create your threads with m_bAutoDelete set to TRUE, right?
Regards,
Alvaro
Well done is better than well said. -- Benjamin Franklin
(I actually prefer medium-well.)
|
|
|
|
|
Hi Alvaro,
Good to hear from you again ... I just put the logging into the constructor and destructor of the thread.. and now I am really stumped.. It appears that every thread I create, start and close are doing exactly that the constructor gets logged and the destruction is logged too.. Yet after 10 minutes or so I see an extra thread associated with my process... WEIRD.. I am using the m_bAutoDelete set to TRUE..
Man I am really confused.. I created a int var called m_nThreadCount and set it to 0.. then each time I create a thread I ++ the count.. after 10 minutes or so I was up to 48 and I had 48 entry’s in the log all constructs had a matching destruct, yet I can see extra threads on my process....
What do you think?
|
|
|
|