|
Thanks for the advice. I needed to loop using PeekMessage so that messages were received at any time for the duration of the thread (entire lifetime of the application).
I've had to add additional functionalities which meant I really had to think seriously about using events instead. I want to use CEvent but to do that I need afxmt.h.
If I include afxmt.h in my stdafx.h after atlbase.h I get an error about MFC applications not being allowed to have windows.h.
If I put the afxmt.h before atlbase.h I get a linker error about _DLLMain@12 already being defined. It looks like the problem is in atlbase.h so I have a chicken and egg situation.
I've looked at changing the order of linking libraries, but with not much success as the error says _DLLMain is defined already in MyObject.obj (i.e. obj file created from my application I am writing at the moment).
Please help!
|
|
|
|
|
Hello folks!
I am trying to build a filter graph which includes a sample grabber filter. I add the sample grabber filter (and configure it to take video input) and the null renderer filter to the graph, then i add a source filter using IGraphBuilder::AddSourceFilter[^] for a certain video file. After this i query the source filter for its output pin and the sample grabber for its input pin and once i got these, i tell the grapbh builder to connect them. At this point my program quits. There is no error code returned, no exception thrown, nothing usefull in the debug output window, no nothing, the process simply stops without a word (at least nothing i can see). I checked around the net and looked at a few examples and basicly this aproach seems to be ok, others build the sample-grabber graphs the same way. Then i tried to recreate these steps using GraphEdit, i added the source filter for the same file, i added the sample grabber filter and tried to connect the two and the result was the very same (as much as one can tell by looking at it), GraphEdit quits without saying anything. Since graphedit behaves exactly like this too i guess the error doesn't seem to be in my code but then where? Does anyone have any idea what might cause this or where i should check to see the problem? Am using VS2003 and VC++.
Thanks for any help in advance...
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Life: great graphics, but the gameplay sux. <
|
|
|
|
|
what's the format of your video file. does the programme quite whatever source files connect?
it's my pleasure to make friend with you.
|
|
|
|
|
It is a DivX avi, after i read your reply i also tried with an mpg file (in graphedit), with mpg graphedit crashed, i tried with another DivX avi, with that it could connect the pins (also in graph edit), i have yet to try this with my own program to see how that behaves, however i don't see the pattern yet.
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Life: great graphics, but the gameplay sux. <
|
|
|
|
|
I had written a case which rendered a wmv file and grab picture in the grabber filter years ago. It work well. If you need the source codes, please contact to me. I will send you.
my MSN: zhu_lin4103@126.com
it's my pleasure to make friend with you.
|
|
|
|
|
//This gives me HWND to the external app
HWND hWnd = ::FindWindow(NULL, "TEST");
From hWnd, how do i get the HWND for a picture control in that application?
From Spy I get "Window 000406F2 "" Static"
It has a control id of 000003E8
Can someone please help?
Thanks a million.
modified on Sunday, August 23, 2009 9:36 AM
|
|
|
|
|
EnumChildWindows()
You may be right
I may be crazy
-- Billy Joel --
Within you lies the power for good - Use it!
|
|
|
|
|
|
I have a multi-thread MFC application.
I used Ado2 moudule by "Carlos Antollini" to act with my database.
When I monitor my application by windows TaskManger, I see that "Mem Usage" & "VM Size" of my application is increasing without freeing memory until I close the application.
I read most of memory management documents and I could not solve my application problem.
Also I test some useful tools like "Trial DeLeaker" to detect problem. But all of memory leak tools report no memory leak! Specialty "DeLeaker" says "no GDI leak", "no Mem Leaks", "no Handle leaks".
Please give me tips to find my problem.
Can I find my problem by Rational Purify? I have not it.
Thanks.
|
|
|
|
|
what happens if you minimize you program's window ?
|
|
|
|
|
When I minimize my application, it frees some of "Mem Usage". But still it keeps used "VM Size".
Also it keeps memory consuming when I restore it or it remains minimized.
I still wait for a solution.
Thanks.
|
|
|
|
|
is the database server on your cp ? mybe the database.
and what did your programme do when the memory increased.
it's my pleasure to make friend with you.
|
|
|
|
|
I used a simple access file (.mdb) in local computer.
My application became slow after memory consumption!
|
|
|
|
|
I've used Dan Moulding's Visual Leak Detector[^] when tracking down memory leaks.
But I really recommend you to read this article[^] as chances are that you don't have a memory leak at all.
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
I found my problem using Easy Detection of Memory Leaks[^].
BOOL CSmartToolTip::SetTipText(CWnd *pTipOwnerWnd, CString strTip )
{
TOOLINFO ti;
_CreateTipWnd();
ti.cbSize = sizeof(ti);
ti.uFlags = TTF_IDISHWND | TTF_SUBCLASS;
ti.hwnd = pTipOwnerWnd->GetParent()->GetSafeHwnd();
ti.uId = (UINT)pTipOwnerWnd->GetSafeHwnd();
ti.hinst = AfxGetResourceHandle();
ti.lpszText = (LPTSTR)((LPCTSTR)strTip);
return((BOOL)SendMessage(TTM_ADDTOOL, 0, (LPARAM)&ti));
}
void CSmartToolTip::_CreateTipWnd()
{
if( ! IsWindow(*this) )
{
this->Create( NULL );
SetTipBkColor( RGB( 255, 255, 0) );
SetTipTextColor( RGB( 0, 0, 0) );
::SendMessage( *this, TTM_SETMAXTIPWIDTH, 0,
(LPARAM)(INT) MAKELONG(400, 0));
}
}
The problem located in above code. I periodically call above function in my application.
But why leak? Can any one help me please?
|
|
|
|
|
hello everyone
i want to load a bitmap from file and insert in specific coordinate of my SDI program.
but when i write codes and run program it shows nothing.
could i have a guide to using and inserting bitmap in my SDI.
thanx
|
|
|
|
|
could you show your code?
Of one Essence is the human race
thus has Creation put the base
One Limb impacted is sufficient
For all Others to feel the Mace
(Saadi )
|
|
|
|
|
CBitmap Bitmap;
CDC dcMem;
HBITMAP hBitmap = 0;
hBitmap = (HBITMAP)LoadImage( AfxGetInstanceHandle(),
strLocationOfBitmap,
IMAGE_BITMAP,
0,
0,
LR_LOADFROMFILE | LR_DEFAULTSIZE);
dcMem.CreateCompatibleDC(pDC);
Bitmap.CreateCompatibleBitmap(pDC, 390, -230);
Bitmap.Attach( hBitmap );
dcMem.SelectObject(&Bitmap);
pDC->BitBlt(1280, -1765, 390, -230, &dcMem, 0, 0, SRCCOPY);
i used many codes delete and add some function to them.
i never used GUI in VC++.
|
|
|
|
|
And where is this code?
1/
It would make sense to only load the CBitmap once - in your constructor maybe?
2/ -1765 seems very high... Does it work with (0,0) ?
Iain.
I have now moved to Sweden for love (awwww).
If you're in Scandinavia and want an MVP on the payroll (or happy with a remote worker), or need cotract work done, give me a job! http://cv.imcsoft.co.uk/[ ^]
|
|
|
|
|
1. in a function within c..view class
2. no it doesn't work even at (0, 0)
|
|
|
|
|
Which event you use this code?
Of one Essence is the human race
thus has Creation put the base
One Limb impacted is sufficient
For all Others to feel the Mace
(Saadi )
|
|
|
|
|
Hi,
when im trying...
void function(int y,int w)
{
printf("int function");
}
void function(float y,float w)
{
printf("float function");
}
int main()
{
function(1.2,2.2);
return 0;
}
im getting error like..
error C2668: 'function' : ambiguous call to overloaded function
and when im trying to call function(1.2,2) or function(1,2.2) it is printing as "int function"
Please clarify..when the function(float y,float w) will be called...
|
|
|
|
|
kumar sanghvi wrote: void function(int y,int w)
{
printf("int function");
}
void function(float y,float w)
{
printf("float function");
}
The problem is that the compiler is not going to understand which overload of this function are you wanting to call (1.2 can be truncated to integer, therefore the confusion). You will need to be more explicit.
kumar sanghvi wrote: function(1.2,2.2);
Try function((float)1.2, float(2.2)); instead. To make things clearer:
int main()
{
float f1=1.2, f2=2.2;
int n1=22, n2=23;
function(f1, f2);
function(n1, n2);
function((int)f1, (int)f2);
function((float)n2, (float)n1);
return 0;
}
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
Look at the error message from gcc:
a.cpp:16: error: call of overloaded ‘function(double, double)’ is ambiguous
a.cpp:3: note: candidates are: void function(int, int)
a.cpp:9: note: void function(float, float)
A call to either function would require truncation, which is why neither is preferred over the other. I suspect you really want void function(double y,double w) . Remember that in C/C++, the default floating-point type for literals and parameter passing is double, NOT float.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Hi,
if i have a code like...
int* p;
int w=10;
p=&10;
the memory allocation for both w and p will be on stack only ...?
Please correct me if im wrong as im a newbie to c++..
and please let me know when it is really useful to allocate memory dynamically using pointer than allocating on the stack..?
|
|
|
|