|
This is the trace that I get in Output window. Note that I'm copying the debug versions of exe and dll into my installition folder of my appplication.
exit: CHPAiOTrayAppPlugIn::FinalConstruct
[tid:0x09FC] Status: Name=<all-in-one>, GUID=<{BB80D457-8331-4AD4-BAC5-447B5855C71A}>
[tid:0x09FC] Status: CreateP:
Unknown error
[tid:0x09FC] Exit: CreateP hr=(0x80040154) Class not registered
[tid:0x09FC] Status: LoadPFromRegistry:
Unknown error
[tid:0x09FC] Exit: LoadPFromRegistry hr=(0x80040154) Class not registered
[tid:0x09FC] Entry: BeginPInitialization
First-chance exception at 0x012bb8c3 in a.exe: 0xC0000005: Access violation reading location 0xbaadf00d.
Unhandled exception at 0x012bb8c3 in a.exe: 0xC0000005: Access violation reading location 0xbaadf00d.
The program '[924] a.exe: Native' has exited with code 0 (0x0).
|
|
|
|
|
A stack trace would be useful. And the source code around the problem with the line in question marked.
Steve
|
|
|
|
|
>>Access violation reading location 0xbaadf00d.
That still cracks me up. The first time I saw that in the debugger long ago, I thought it
was a coincidence.
0xBAADF00D, 0xDEADC0DE, 0xDEADBEEF, etc.
Mark
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
Yeah, it's pretty funny. See here[^] for some more.
Steve
|
|
|
|
|
tom groezer wrote: Access violation reading location 0xbaadf00d.
0xbaadf00d is a good indication that you are trying to access heap memory that is uninitialized.
Mark
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
In general the best way to solve this kind of problems is to use your debugger: check where the code crashes and put breakpoints to evaluate the different variables around the crash to check if they contain what you expect.
|
|
|
|
|
I have debugged and from the stack trace it looks it that there is some problem with registeration of the coclass.
|
|
|
|
|
Does the below make any diiference :
Source File: C:\Program Files \Microsoft Visual Studio 8\VC\atlmfc\include\atlcomcli.h
Module: C:\Program Files\HP\Digital Imaging\bin\hpqtra08.exe
Process:[3828]hpqtra08.exe
The source files is different from when the module was built. Would you like the debugger to use it anyway?
|
|
|
|
|
Your not really giving enough information for anyone to help you. There are many possible causes for an access violation. I give the following advice about once a month; it often helps me track down the nastier heap errors:
Try enabling the page heap[^] for your process. Follow these steps:
1. Download and install WinDBG[^].
2. Select “Start”->“All Programs”->“Debugging Tools for Windows”->“Global Flags”.
3. Select the “Image File” tab.
4. In the “Image: (TAB to refresh)” edit control enter the name of your app then press TAB. Just the name with the extension; not the full path.
5. Tick the following:
- “Enable page heap”
- “Enable heap tail checking”
- “Enable heap free checking”
- “Enable heap parameter checking”
- “Enable heap validation on call”
- “Create user mode stack trace database”
6. Press “Apply”.
7. Debug your application. Any debugger will do but with WinDBG you have access to the stack traces of allocations via the !heap –p –a command, for example. When a heap problem is detected a breakpoint will be generated.
8. When done un-tick all the options you ticked, press “Apply” then dismiss GFlags. This step is important as if it’s skipped all applications named as entered in step 4 will run with the page heap enabled.
Note that when using the page heap your application will run much slower than normal and consume way more memory. It’s good to have a beefy machine to do such tests; and such tests should be ran regularly on all applications you develop as part of regular testing activities. If I find a part of my application that’s too slow with the page heap enabled I optimize the memory allocation in that region.
Steve
|
|
|
|
|
Hi,
I have a piece of hardware that I want to integrate with Office Commnicator 2007. Could somebody point to me where can I get the API/SDK for OC2007? I want to integrate the OC2007 functionality into my app by launching portions of OC2007 user interface, such as the phone dialer...
Can somebody help me here?
Thanks in advance.
|
|
|
|
|
How TO Create A Menu At The Bottom of a dialog based application
|
|
|
|
|
I think I saw this question yesterday,do you want to change position of menu of top to buttom?
|
|
|
|
|
Ya, I want to change the menu position from top to bottom.
Thanks IN Advance
Jannath
|
|
|
|
|
Hi.
Im doing a MDI program using CFormView.
When I first run the program, there is a child window in the parent window.
I do not want to open up the program with a child window.
I want to see the child window only when I click File->Open.
How do I do that?
Thanks.
|
|
|
|
|
Place the following code between ParseCommandLine and ProcessShellCommand function calls in your CMyApp::InitInstance method;
if (cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew) {<br />
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;<br />
}
--
=====
Arman
|
|
|
|
|
BOOL CYourApp::InitInstance()
{
//...
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// Added to prevent New Empty Document at startup
if (cmdInfo.m_nShellCommand==CCommandLineInfo::FileNew) {
cmdInfo.m_nShellCommand=CCommandLineInfo::FileNothing;
}
//...
}
|
|
|
|
|
Hey.
Thanks.
But now, if I clicked File->Open, it wont display the child window.
Only if I clicked File->New, will the child window be displayed.
How can I make the child window be displayed when I clicked File->Open?
And also, after I get the child window to be displayed through File->New, when I tried to maximize the window, my GUI is not there anymore. Why is that so?
|
|
|
|
|
ReturnRain wrote: it wont display the child window
The code provided is pretty much an industry standard way in MFC to prevent the initial document in an MDI application. It appears in many articles and books. It should not have any effect on on the operations you are describing so my best guess is that you have code elsewhere that effects the actions you are having difficulty with.
One way to verify this is to create a MFC MDI application using CFormView and dropping that snippet into the appropriate spot and running it without any other code added and you should see that the open and new and child maximize work correctly (at least on VC++ 6.0 and VC++ 2003). I don't use VC++ 2005 so I have no way to verify it using that IDE.
|
|
|
|
|
i have to create a mail page such that the edit window has to support html emails and i must have the options of bulleting,font size ,font type selection features for that window.so please prefer the class that best supports all this features.i can say that the mail page should look just like ms-outlook outbound and inbound pages.
can we use the class CHtmlEditCtrlBase to support this features.
best regards
|
|
|
|
|
Hi all:
Ran into a tiny problem here.
I have declared a class as following:
class CStack {<br />
char* stk[STK_MAX];
int stkIndex;
public:
void push(int i) {
assert(stkIndex < STK_MAX);<br />
*stk[stkIndex++] = i;<br />
} <br />
};
And in 'main' function that follows:
CStack stack;
for (int i = 1; i < argc; i++) {<br />
stack.push(atoi(argv[i]));
assert(stack.count() == i);<br />
}
Just wondering why?
Thank you
|
|
|
|
|
Not sure about what you are trying here. Did you mean something like...
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
const int STK_MAX = 255;
class CStack {
int stk[STK_MAX]; // Use an array to store the stacked data
int stkIndex; // Index of the first free position in the stack
public:
// Constructor
CStack() : stkIndex(0)
{
}
void push(int i) {
stk[stkIndex++]=i;
}
};
int main(int argc, char* argv[])
{
CStack stack;
for (int i=1;i<argc;i++) {
stack.push(atoi(argv[i]));
printf("Argument %d = %d\n",i,atoi(argv[i]));
}
return 0;
}
|
|
|
|
|
Hi:
Thank you for your reply.
1: No what I meant is :
class CStack {
char* stk[STK_MAX];
int stkIndex;
public:
void push (int i) {
*stk[stkIndex++] = i;
}
2: How do you apply indentation?
Thank you
|
|
|
|
|
That was a rhetorical question. There were hints in the code I posted to help you identify where you forgot to initialize stkIndex and the odd assignment of an arbitrary int to a char*.
C_Zealot wrote: How do you apply indentation?
check the box labeled "Ignore HTML tags in this message (good for code snippets)"
Some people will say wrap it in code tags but that makes it hard to copy and paste snippets to test posted code samples as whitespace is not properly preserved.
|
|
|
|
|
Have u initialized the value for "stkIndex"
*stk[stkIndex++] = i; //stkIndex = garbage value
VIBIN
"Fool's run away,where angle's fear to tread"
|
|
|
|
|
Thank you. I will try it out.
|
|
|
|