|
Thanks Mark,
The application crashes consistently on vista. As you said there is nothing wrong in calling InitCommonControlsEx. I agree with that.
Do you have any idea why comctl32.dll would have been unloaded from my process address space?
Some more information I tried running the application on vista with xp sp2 compatibility mode even then the result was was same.
Any ideas/inputs..?
Cheers,
Suresh
|
|
|
|
|
I have no idea how to decipher your event log entry. What writes that entry?
My best guess reading the entry is that a call to the DLL was made but it was no longer there.
I don't know why it would be unloaded....was it ever loaded?
You should be able to debug this.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: was it ever loaded?
I think YES and NO.
I am able to debug however it stops (causes AV) at that point. While debugging If I look at the Modules Window it shows two entries for comctl32.dll (both are from location SxS folder, but with different versions 5.82 and 6.0.xxxx), however none of these two was loaded at the location mentioned in the eventlog entry.
After placing that InitCommonControls(Ex) call, the Modules Windows shows 3 entries for comctl32.dll (2 from SxS folder and 1 from windows\system32 folder (version 5.82)) and the system32 version was loaded at the location mentioned in the eventlog entry. thats why the application doesnt crash when I place this call.
Any thoghts? Thanks in advance
Cheers,
Suresh
|
|
|
|
|
Loading multiple versions of the comctl32.dll seems a bit suspicious.
Since you have at least one module using version 6 of the common controls,
you may want to follow the steps (for the module(s) using comctl32.dll v.6) in
the section "Using ComCtl32 Version 6 in an Application That Uses Extensions,
Plugins, or a DLL That is Brought into a Process" here:
Using Windows XP Visual Styles[^]
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Have you looked at Davids thread below about VC 1.5? I wanted to ask him something about flopping around the boat but last time I gave him a fishing post he seemed annoyed.
led mike
|
|
|
|
|
led mike wrote: ...he seemed annoyed.
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
I guess I misinterpreted your tone in the post I am remembering? I'm glad, I certainly did not intend to annoy you.
So after 4 hours of flopping around in Keith's boat have you figured out his last post yet?
led mike
|
|
|
|
|
led mike wrote: I'm glad, I certainly did not intend to annoy you.
You're fine, as long as you do your own Googling.
led mike wrote: So after 4 hours of flopping around in Keith's boat have you figured out his last post yet?
No, simply because I do not have that compiler handy. I tried it with VS6 and it worked fine, although I did not use C files. Maybe that's the deciding factor...
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Let's assume I'm developing a game, with a main menu graphical window, and more graphical windows.
So, SDL should be awesome for my needs (simple 2D pictures & animations).
But I also need a login-form, registration-form, help-form, windows-form-like windows.
Can I make the forms with SDL ?
|
|
|
|
|
Specification Design Language?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
|
It took some digging but I think they mean this.[^]
All I got a first was Security Development Lifecycle.
led mike
|
|
|
|
|
Not as far as I know. Okay, you can still do the complete code for the UI yourself but it is probably not what you are looking for.
Anyway, there is a better alternative for SDL: SFML[^]. It is quite recent (one or two years) and is a good replacement for the SDL (which offers an object-oriented architecture, instead of a C interface).
It can also be integrated with MFC, so that's probably what you are looking for. Furthermore, the performances are much better than the SDL (I can tell you from experience that SDL is quite slow).
|
|
|
|
|
Thank you very much
|
|
|
|
|
Cedric Moonen wrote: SFML[^]. It is quite recent (one or two years) and is a good replacement for the SDL (which offers an object-oriented architecture, instead of a C interface).
Good to know, thanks!
|
|
|
|
|
Dejavu nic
OK,. what country just started work for the day ? The ASP.NET forum is flooded with retarded questions. -Christian Graus
Best wishes to Rexx[^]
|
|
|
|
|
|
Hi All,
I have the following code which uses an argument list passed into a function, i get a pointer to the first argument and then set this pointer = to some modified argument. This in turn updates the arglist. See code below:
va_list arglist;
<br />
va_start(arglist,cString);<br />
<big>char **Arg1 = &va_arg( arglist, char *); </big><br />
*Arg1 = Arg1Modified;
I now have to convert this code to work after being compiled under VC 1.52. The line in bold above is the problem because in VC 1.52 you cannot declare variables on the same lin that they are used.
Does anyone know how i need to declare the variable to work the same as it does in VS 6, i have tried:
char **Arg1<br />
Arg1 = &va_arg( arglist, char *);
but this does not work correctly.
Thanks in Advance
|
|
|
|
|
KeithF wrote: ...in VC 1.52 you cannot declare variables on the same lin that they are used.
I went back and looked at some of my code from the early 90s (when v1.52c was being used). It's littered with examples to the contrary.
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Hi David,
Yes you are correct, sorry. What i meant to say is that i am using c files in VC 1.52 (maintenace project - no choice). It is with C files that this inline declaration is not allowed.
Any ideas on how to solve the problem?
|
|
|
|
|
So what does the following produce:
char **Arg1;
Arg1 = &va_arg(arglist, char *);
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
it produces this :
âg it was supposed to be 342
|
|
|
|
|
KeithF wrote: char **Arg1
Arg1 = &va_arg( arglist, char *);
Shouldn't this be
char **Arg1
*Arg1 = &va_arg( arglist, char *);
|
|
|
|
|
No, because &va_arg() returns a char ** , not a char * .
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
va_arg is a macro and the current code is depending on an implementation specific side effect. Somewhere in the back of mind, I recall this macro changing between 16 and 32-bit. If you have a bunch of code depending on Arg1 being a pointer to a pointer, you can do the following:
<br />
char* tmpArg1;<br />
char** Arg1;<br />
<br />
tmpArg1 = va_arg( arglist, char *);<br />
Arg1 = &tmpArg1;<br />
The alternative is to bag the pointer to a pointer stuff and just use Arg1 as a char*.
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|