|
I have a list control with one column and that uses an imagelist in a wizard dialog. The list control is used to indicate your relative poisition in the wizard process. An image from the image list is used to indicate one of three states for a given list control item.
When the user clicks the NEXT or BACK buttons, the image changes for the appropriate list control item. The following is the body of the function that is called at this point:
void MyFunction(int nIndex, int nImage)
{
LV_ITEM lvi;
lvi.iItem = nIndex;
lvi.iSubItem = 0;
lvi.mask = LVIF_IMAGE;
lvi.iImage = nImage;
m_ctrlListOfSteps.SetItem(&lvi);
m_ctrlListOfSteps.Update(nIndex);
}
When compiled in debug mode, the function works as expected *without* the line indicated by the "// <<-----" comment. In release mode, the program does not update the image displayed in the list control correctly UNLESS the line indicated is included in the code.
I would like to know if anyone knows *why* this is the case?
|
|
|
|
|
Not sure why that's happening, but I can suggest a possible fix - zero-init the LVITEM struct:
LVITEM lvi = {0};
Debug vs. release breakages with local variables are almost always the result of not initializing said variables.
--Mike--
http://home.inreach.com/mdunn/
"That probably would've sounded more commanding if I wasn't wearing my yummy sushi pajamas."
--Buffy
|
|
|
|
|
The Debug build will allocate **much** more memory on the stack and in malloc's that the Release build will. This is of course what make the Debug build a debug build. What this means to what you are seeing is that the previous data at that location on the stack (in the LVITEM struct) happens to be 0 in the Debug build and not the Release.
As it happens most of this extra memory turns out to be zeros.
On the other hand perhaps the Debug build is initializing the memory to zero!
[This is easy to test]
Of course Michael is correct in that you should always innitialize your variables.
Jules
|
|
|
|
|
Does anyone on here have any experience working with either the Windows Media Encoder SDK or the Windows Media Format SDK? If so please drop me a line, I am struggling through something and could use some assistance.
Roger Printy
Software Engineer
TeraNex
Orlando, FL
|
|
|
|
|
Can anyone tell me where to obtain a system wide hook dll ? Can I declare this dll in VB like any api functions for usage in VB ?
|
|
|
|
|
Hi Anon,
I assume you mean a Windows Message Hook?! To help at all we are going to need to know what you want to do with it.
The Windows Message Hooks are systems wide like all windows.
Jules
|
|
|
|
|
Does anyone knows a window DLL which can help to detect wm_message of an active window. I also want to know how to make use of this DLL in VB ?
|
|
|
|
|
Does anyone knows a window DLL which can help to detect wm_message of an active window. I also want to know how to make use of this DLL in VB ?
|
|
|
|
|
I'm working on a prototype application. The user MIGHT want to have an automatic FAX capability on the server.
Does anyone know of a good fax component that can be downloaded for a trial. (I don't know if the user will want it, so I don't want to spend too much)
I have seen the "print driver" FAX interfaces, but they require that the number be entered at run time. I want to be able to set the number from a database and then call a "send" method.
Thanks
|
|
|
|
|
How can change the string displayed in a message box at run time?
or how can close the MessageBox automatically after a period ,without clicking on OK...
|
|
|
|
|
Hi Tarek!
One suggestion!
Why don't you produce your own dialog derived class instead of using AfxMessageBox(...) or MessageBox(...) stuff, and add a timer event to it so you could even not have any buttons at all on them!
You know that the default windows message boxes have atleast one OK button (IDOK, IDCANCELL, IDYES, etc...).
One further enhancement is to have your own AVI files played on the dialog using the animate control! Same as the Adaptec CD Recoders doing already! Nice UI!
Have fun and Good Luck!
Masoud
|
|
|
|
|
Any one interested in this let me know. It has been sent to Tarek alraedy.
Briefly, its a dialog derived class that has a WM_TIMER, pops up by call to DoModal() and then closes itself once the timer value is reached in the WM_TIMER handler.
Seeya!
Masoud
|
|
|
|
|
I have an ANSI C++ console application. I'm prompting the user for a password which I'm retrieving using the cin object. The problem is, I'd like for the password to not be shown while it's typed. If possible, I'd prefer to show asterisks like it's done on Windows, but I'd be happy with just showing nothing.
How can I do that?
Thanks!
Alvaro
|
|
|
|
|
Note: there's no mouse in the computer.
In my industrial app. (to control a machine) there is a time counter that shows the elapsed time while the machine works.
If I move any dialog the time counter gets stopped.
Since the PC has no mouse, I would like to know how eliminate the caption bar menu for moving the dialog.
And also why moving the dialogs make my timer stops, and if I can avoid that stopping.
thank you in advance.
|
|
|
|
|
To remove the Move item from the system menu:
HMENU hmenu = GetSystemMenu ( hYourWindow, FALSE );
RemoveMenu ( hmenu, SC_MOVE, MF_BYCOMMAND );
--Mike--
http://home.inreach.com/mdunn/
"That probably would've sounded more commanding if I wasn't wearing my yummy sushi pajamas."
--Buffy
|
|
|
|
|
If I don't mind that the value obtained would be the last introduced, can I access a variable that it's in a continuated change (X and Y coordinates in a machine) in order to show them?
I would like to know the fastest way, I'm doing a 2D simulation and I don't know if it would be correct to use pointers to the values and refreshing the draw area at some kind of time event without using critical sections or any other kind of thread sincronisation procedure.
Thank you very much, and please excuse my english, it's not my best quality.
|
|
|
|
|
You certainly can access variables from different threads without using sync objects, it's just not the recommended way.
--Mike--
http://home.inreach.com/mdunn/
"That probably would've sounded more commanding if I wasn't wearing my yummy sushi pajamas."
--Buffy
|
|
|
|
|
Hi Joan,
For variables of simple types this is not a problem, just read them in to
have their latest value. However if the vaiable happens to be a string or
a struct you might find that sometimes the variable has only been HALF
updated! This is the exact thing that thread-syncing is meant to fix.
I am unsure what happens with doubles and int64's are they are 8 bytes
(2 words) and I don't know if the instruction set (& compiler) can update
the variable in one cycle. (which is what makes it safe)
[Wow, that reads really badly - you thought your english was poor!]
Jules
|
|
|
|
|
Hi all,
I want to know if it is possible to draw some text on top of another object (in my case, it's an MCI movie player)
Thanks a lot.
|
|
|
|
|
Yes it is,
if you look in the platform sdk samples there is an MCI video editing example
which allows you to draw hotspots on the video. They draw the lines at the
same place you want to draw your text. I can't remember the example name,
but the example is there.
Stephen Kellett
|
|
|
|
|
Would anyone happen to know of any example code for CBT hooks? I've looked at MSDN and I was unable to find some examples.
|
|
|
|
|
My program works in the background and controls the foreground window, and it pops out a small dialog to tell the user what it is going to do, and then the dialog may disappear in a few seconds. What can I do to make the dialog to pop out without a focus on it? I mean, what can I do so that the focus won't turn to this small dialog even when it pops up?
Thank you!
|
|
|
|
|
Does anyone know of a good Xaudio tutorial or sample code that uses the library? Any help would be great.
Joshua
|
|
|
|
|
I have a large application that loads over 60 of my dlls. I'm trying to increase the load time of the app by re-basing where the dlls are initially put into memory. I think I can hard code the memory address in the dll's settings, or I can use the LoadLibrary function.
My first question is how do you put in the base address in the LoadLibrary function?
My second question is will re-basing all these large dlls really make a big difference in loadup time.
Thank you very much for your help.
|
|
|
|
|
You can test whether load times will decrease (I hope you meant decrease, not increase ) by putting your DLLs in one directory and running:
rebase -b 1000000 *.dll
--Mike--
http://home.inreach.com/mdunn/
"That probably would've sounded more commanding if I wasn't wearing my yummy sushi pajamas."
--Buffy
|
|
|
|