|
Have a look at the functions CreateEvent, SetEvent, and WaitForSingleObject.
|
|
|
|
|
Hi all,
I am trying to run my application.It is building successfuly.
But i am getting run time error as...
Debug Assertion Failed! f:\sp\vctools\vc7libs\ship\atlmfc\src\mfc\occcont.cpp
please can anyone tell me,what may be the problem.
Thanks
Raj
|
|
|
|
|
There might be N reasons for the assertion, some are mentioned below:
1. You might be accessing an out of bound array element
2. Your application is showing a message box due to the ASSERT statement
3. Your code is trying to access an uninitialized memory/pointer
Why don't you debug your application and figure this out?
I am a HUMAN. I have that keyword (??? too much) in my name........
_AnsHUMAN_b>
|
|
|
|
|
Hi sir,
Thanks for your reply.Its working fine is some system.
I am trying with a fresh system(installed Windows XP and VS 2005),there i am getting this error.
BOOL CTestApp::::InitInstance()
{
if (!ProcessShellCommand(cmdInfo))
return FALSE;
}
Thanks
Raj
modified on Monday, December 27, 2010 2:59 AM
|
|
|
|
|
What are the contents of cmdInfo variable?
Is this initialized?
I am a HUMAN. I have that keyword (??? too much) in my name........
_AnsHUMAN_b>
|
|
|
|
|
HI sir,
Yes it is initilized.
here it is..
BOOL CTestApp::::InitInstance()
{
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
if (!ProcessShellCommand(cmdInfo))
return FALSE;
}
Thanks
Raj
|
|
|
|
|
|
HI,
when i am trying to debug it,its going into
"occount.cpp file"
COleControlSiteOrWnd *pTemp =
new COleControlSiteOrWnd(
hwndCtrl,
pOccDlgInfo->m_pItemInfo[i].bAutoRadioButton);
ASSERT(IsWindow(pTemp->m_hWnd));
The occcount.cpp path is in "C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\src\mfc".
I am not getting how to cum out of this problem.
Please someone help me.
Thanks
Raj
|
|
|
|
|
Hi, you should be less header files
|
|
|
|
|
Hi guys
i'm having this error : "syntax error before "var" "...and i can't pass as parameters a boolean value to the "vis" function..I'm using Dev c++..thanks
#include <stdio.h>
#include <stdlib.h>
void vis(bool var);
int main()
{
vis(true);
system("PAUSE");
return 0;
}
void vis(bool var)
{
if(var)
printf("ciao");
}
"For as long as men massacre animals, they will kill each other. Indeed, he who sows the seed of murder and pain cannot reap joy and love." Pythagoras
|
|
|
|
|
maybe var is a keyword, try another identifier name.
It colors blue around here!
|
|
|
|
|
i tried with another name but nothing...
thanks
"For as long as men massacre animals, they will kill each other. Indeed, he who sows the seed of murder and pain cannot reap joy and love." Pythagoras
|
|
|
|
|
Maybe bool is not a valid C type...
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
it may be painted blue, it ain't a keyword yet.
|
|
|
|
|
I see a red door blue var and I want it painted black
No colors anymore I want them to turn black
[...]
var it's a C# keyword, I suppose.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
C hasn't the bool data type. You may do the following replacement
bool -> int
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
I've seen a lot of C++ code where it's written in all capitals BOOL ,
but I can't tell you where it is defined.
|
|
|
|
|
In Windows, it is defined as follows:
typedef int BOOL;
And is defined in WinDef.h, but I imagine you'd normally include it via Windows.h.
I assume other platforms define it in a similar header.
|
|
|
|
|
Thanks for that bit!
|
|
|
|
|
"C" does not have "bool", "true" or "false".
"C++" does have them (as does "C#", another forum) as recognizable data types.
The Visual Studio IDE editor highlights "bool", "true", and "false" in blue because it does recognize them as language keywords and even does that in files with the ".C" file type, even though the compiler will complain (this is a bug in the IDE in my opinion).
Microsoft defined "BOOL", "TRUE", and "FALSE" in one of their ".H" files and most of the windows APIs, MFC APIs, etc all return things of those types. However, those types are nothing more than "int" or specific values of "int". Because of this, you will often see a mix of "bool" (lower case) and "BOOL" uppercase in "C++" programs. I try to keep the uses apart, only using "BOOL" when dealing with API returned values or API parameters.
|
|
|
|
|
Your replied to the wrong thread!
|
|
|
|
|
Ok. Thanks to all. In C there isn't a type Bool..
Thanks again..bye
"For as long as men massacre animals, they will kill each other. Indeed, he who sows the seed of murder and pain cannot reap joy and love." Pythagoras
|
|
|
|
|
I am having problems integrating OpenCV 1.1 Haar clasifier with VC 6.0.
These are limitations of my setup
I need to use OpenCV1.1 with VC6.0 – OpenCV has no VC6.0 projects in later releases.
I cannot use OpenMP with VC 6.0 SP 6 – there is no omp.h for that SP.
I do have dual processor CPU but do not care if it is not used by VC at this time.
I can compile and use OpenCV with test programs,however, when attempting to integrate Haar classifier I get linker error – missing VCOMP.lib.
I aslo get about ten of these linker warnings:
cvhaartraining.lib(cvhaartraining.obj) : warning LNK4044: unrecognized option "manifestdependency:type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b'"; ignored
I think part of my problem is that I have no clue which VS 200x was used in build of the Haar classifier. ( I did check with OpenCV group - no help there)
I downloaded both VS2005 and VS2008 redistributable. Still no success.
My second question really is not OpenCV – my question is how do you control where redistributable gets installed and does it really matter.
I was getting it installed into my “photos drive” and had to disconnect it (USB) to get it installed somewhere else.
As always any constructive help is appreciated.
Vaclav
|
|
|
|
|
If the original product was made with VS 2005+, there may be something in the build options that the VC 6 compiler and/or linker cannot handle (that's what your error message looks like).
Have you looked at the install guide. My quick scanning of it suggests that you need the VS2010 C++ redistributable.
You may want to have a chat with someone on their website if this doesn't work. It appears they do their testing on the latest version of VC (after all, VC6 a rather old IDE now), but they may know how to get it working.
|
|
|
|
|
I'm trying to draw an animation on a window with a transparent background using Windows API. The problem is that I can't delete the previous drawing from the window.
I set the following parameters:
InvalidateRect(m_hWnd, &sClientRect, TRUE);
paintParams.dwFlags = BPPF_ERASE;
paintParams.pBlendFunction = &m_sBlendfunc;
But it still doesn't work. The animation I wanted is moving the circles across the screen. What I get instead is artifacts of their motion because the window is not cleared before each draw.
See my full code below:
#include "DrawTest.h"
DrawTest* m_sDrawTest;
DrawTest::DrawTest()
{
m_pAnimation = NULL;
m_sDrawTest = NULL;
m_nFrameindex = 0;
}
DrawTest::~DrawTest(void)
{
if(m_pAnimation)
delete m_pAnimation;
m_pAnimation = NULL;
if(m_sDrawTest)
delete m_sDrawTest;
m_sDrawTest = NULL;
}
int DrawTest::Init(AnimationManager* pAnimationManager,HINSTANCE hInstance,int nCmdShow)
{
m_sDrawTest = this;
m_pAnimation = pAnimationManager->GetAnimation(2);
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = WndDrawTestProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION));
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)GetStockObject(HOLLOW_BRUSH);
wcex.lpszMenuName = NULL;
wcex.lpszClassName = sWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_APPLICATION));
if (!RegisterClassEx(&wcex))
{
MessageBox(NULL,
_T("Call to RegisterClassEx failed!"),
_T("Win32 Guided Tour"),
NULL);
return 1;
}
m_hInst = hInstance;
m_hWnd = CreateWindow(
sWindowClass,
sTitle,
WS_POPUP,
200, 200,
1024, 600,
NULL,
NULL,
hInstance,
NULL
);
if (!m_hWnd)
{
MessageBox(NULL,
_T("Call to CreateWindow failed!"),
_T("Win32 Guided Tour"),
NULL);
return 1;
}
SetWindowPos(m_hWnd,
HWND_TOPMOST,
0,
0,
0,
0,
SWP_NOSIZE | SWP_NOMOVE);
ShowWindow(m_hWnd,
nCmdShow);
UpdateWindow(m_hWnd);
return 1;
}
void DrawTest::TimeStep(){
PostMessage(m_hWnd, WM_PAINT, 0, 0);
}
LRESULT CALLBACK WndDrawTestProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_ERASEBKGND:
return DefWindowProc(hWnd, message, wParam, lParam);
case WM_PAINT:
m_sDrawTest->OnNextFrame(hWnd);
SetWindowPos(hWnd,
HWND_TOPMOST,
0,
0,
0,
0,
SWP_NOSIZE | SWP_NOMOVE);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
break;
}
return 0;
}
void DrawTest::OnNextFrame(HWND hUILoopWnd)
{
if(m_nFrameindex > m_pAnimation->GetNumOfFrames() - 1)
return;
RECT sClientRect;
GetClientRect(hUILoopWnd, &sClientRect);
InvalidateRect(m_hWnd, &sClientRect, TRUE);
m_sBlendfunc.BlendOp= AC_SRC_OVER;
m_sBlendfunc.BlendFlags = 0;
m_sBlendfunc.SourceConstantAlpha = 255;
m_sBlendfunc.AlphaFormat = AC_SRC_ALPHA;
HDC hdc;
PAINTSTRUCT ps;
hdc = BeginPaint(hUILoopWnd, &ps);
GetClientRect(hUILoopWnd, &sClientRect);
BP_PAINTPARAMS paintParams = { sizeof(BP_PAINTPARAMS) };
paintParams.dwFlags = BPPF_ERASE;
paintParams.pBlendFunction = &m_sBlendfunc;
HDC hBBDC;
HPAINTBUFFER hPBuffer;
paintParams.cbSize = sizeof(paintParams);
hPBuffer = BeginBufferedPaint(hdc, &sClientRect, BPBF_COMPATIBLEBITMAP, &paintParams, &hBBDC);
Draw(hBBDC);
m_nFrameindex ++;
EndBufferedPaint(hPBuffer, TRUE);
EndPaint(hUILoopWnd, &ps);
}
void DrawTest::Draw(HDC hBBDC)
{
HDC hdcScreen = GetDC(NULL);
HDC hdcMem = CreateCompatibleDC(hdcScreen);
bool test = false;
HGDIOBJ hbmpOld = SelectObject(hdcMem, m_pAnimation->m_pFramesArray[m_nFrameindex]->hBmp);
HBITMAP ptemp = CreateCompatibleBitmap(hdcMem,m_pAnimation->m_pFramesArray[m_nFrameindex]->nWidth,
m_pAnimation->m_pFramesArray[m_nFrameindex]->nHeight);
DeleteObject(ptemp);
test = AlphaBlend(hBBDC,m_pAnimation->m_pFramesArray[m_nFrameindex]->nPtX,m_pAnimation->m_pFramesArray[m_nFrameindex]->nPtY
,m_pAnimation->m_pFramesArray[m_nFrameindex]->nWidth, m_pAnimation->m_pFramesArray[m_nFrameindex]->nHeight,
hdcMem,0,0,m_pAnimation->m_pFramesArray[m_nFrameindex]->nWidth,m_pAnimation->m_pFramesArray[m_nFrameindex]->nHeight,m_sBlendfunc);
DWORD test10 = GetLastError();
SelectObject(hdcMem, hbmpOld);
test = DeleteDC(hdcMem);
test = ReleaseDC(NULL, hdcScreen);
}
|
|
|
|
|