|
|
I'm using the functions from winmm.lib to adjust/mute the system-volume.
When calling the first function ( doesn't matter which one ) from that library about 1mb of memory are allocated, and i've found no way to free it afterwards.
I've looked through every tutorial/guide I've found on the net, but found no solution to this problem.
1MB isn't much, but my program is really small, so I'd be happy if anyone knew how to solve this!
Thanks in advance!
|
|
|
|
|
Hi
I need some help for retrive RGB values from Images using
DIB ,and without using GetPixel and SetPixel API function's
pleaes some source code.
Thanx alot
On Earth nothing impossible,
while your mind running.
Faroqtam
|
|
|
|
|
CDibData (Ok I wrote it) will give you an idea of how to to access the pixels directly (via Windows). Any way, goto the 'bitmap & palette' section of CP (don't forget to look up GDI+).
P.S. The QuickFill article has the most resent version of the CDibData file.
INTP
|
|
|
|
|
This is the call in my app's InitInstance
Using the MFC framework how do i specify that multiple views (of different types) be displayed during a File new or file Open
This is the relationship that I have right now
ADoc
AView
I need
BDoc
BView
1)Now if I add code in InitInstance to add a newDocTemplate with each of these combinations , the framework asks me which type I want to open. I want both types to be opened automatically .How do I achieve this ?
2)Now if Needed two view for a single DOC how can I achieve this ? As for example : a bar graph view and a pie chart view of the same data .
|
|
|
|
|
I will not say this is a good solution!
1) To open multiple views of the same document, the documents may need to know each other (do not like this), which means that any of the views lanched will atomatically lanch the other views.
I know this is no help! But I will point you in some new directions: "The MFC Answer Book" based on the the FAQ maintianed by "Scot Wingo" (10+ years?).
INTP
|
|
|
|
|
Hello,
I have been getting these annoying error and warning messages from the compiler that I really don't understand.
Consider the following code example:
class objA
{
public:
objA(){};
~objA(){};
public:
virtual bool Setup(int){};
bool Setup(float){};
};
class objB : public objA
{
public:
objB(){};
~objB(){};
public:
virtual bool Setup(int){};
};
class C
{
public:
C(){};
~C(){};
public:
bool doTest()
{
objB b;
b.Setup(100);
b.Setup(0.0001);
};
};
So here we get a warning message from the compiler as it doesn't know what function to use -- it is as if it doesn't recognise the base-class' method. I know that somehow this has to do with the virtual keyword in use, but I really don't know why this is happening.
Now consider yet another code example:
class _objA
{
public:
_objA(){};
~_objA(){};
public:
bool Setup(int){};
bool Setup(float){};
};
class _objB : public _objA
{
public:
_objB(){};
~_objB(){};
};
class _C
{
public:
_C(){};
~_C(){};
public:
bool doTest()
{
_objB _b;
_b.Setup(100);
_b.Setup(0.0001);
};
};
Here we have a class being derived from another one but without any virtual methods -- no errors/warnings!
Can someone please explain me what are the compiler/C++/ANSI rules I am missing here?
Thank you very much,
David
|
|
|
|
|
u assume that the call to Setup(float) will be called .
Well the compiler is seeing a virtual Setup(int) as the only function . I am not aware of considerations where if u have one function as virtual other overloaded methods are not considered in overload resolution . This might be what is happenning . Need to dig into stroustrup and find .
|
|
|
|
|
No, virtual has nothing to do with it since you're not calling any methods through a pointer. In your first example, B::Setup() hides all methods in A named Setup() . At the point of call, B::Setup(int) is the only method named "Setup" that is visible. The reason you get no warning in the second example is because you removed B::Setup() , so both A::Setup() overloads are visible.
--Mike--
LINKS~! Ericahist | 1ClickPicGrabber | CP SearchBar v2.0.2 | C++ Forum FAQ | You Are Dumb
|
|
|
|
|
I think you are right!
Your convoluted answer explaned what I dislike aboute C++.
Do not get me wrong! C++ is great, it simplifies so many things. But you need to know at leased 10 times as much (than C) in order to acomplish those goals.
INTP
|
|
|
|
|
Hi Guys,
I use a CRichEditCtrl derived class in my project. I add text with a
CRichEditCtrl ::ReplaceSel() call and images using
IRichEditOle::InsertObject(). In order to keep the size of the content of the
CRichEditCtrl object manageable, I remove the first half of the lines from
the control from time to time. The memory used by those lines is not released
though. The application uses more and more memory. Given enough time, the
whole memory will be usede by my application. How can I fix this problem?
I checked several suspects:
There are no memory leaks.
If I disable the control, the application behaives properly.
If I disable adding images to the control but keep adding text, the problem
persists.
I disabled Undo/Redo capabilities of the CRichEditCtrl control.
Any help is very appreciated.
Thank you,
Chip
|
|
|
|
|
before adding control to main Dialog ,Did u add AfxInitRichEdit()
method to the Dialog?
I see that the Problem many problem occured due to that.this is from MSDN.
"Caution :if you are using a rich edit control in a dialog box (regardless whether your application is SDI, MDI, or dialog-based), you must call AfxInitRichEdit once before the dialog box is displayed
"
|
|
|
|
|
I'm using in fact AfxInitRichEdit2() to initialize the rich edit controls. Thank you for your input.
|
|
|
|
|
I got a trouble with creating MFC aplication on my PC. I create MFC application (any type) but when it comes to compilation I get errors in WinDef.h definitions. Saying:
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WinDef.h(43) : warning C4091: 'typedef ' : ignored on left of 'unsigned long' when no variable is declared
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WinDef.h(43) : error C2143: syntax error : missing ';' before 'constant'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WinDef.h(43) : fatal error C1075: end of file found before the left brace '{' at 'c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WinDef.h(30)' was matched
All this errors point towards the line:
typedef unsigned long ULONG;
Surpisingly averything is O'K on my laptop where I have installed the Visual Studio .NET from the same set of CD's. I brought setting in Tools/Options to the view of working version (on laptop) but it didn't help. Can anyone help with this puzzle? Thanks...
|
|
|
|
|
hi
Did u place the Include and Lib directory path of SDK at the top of Directory paths?
some times this error message is diplayed when Include/LIB path of the SDK is not in the TOP of the Directories..
|
|
|
|
|
Hi
Thanks for your comment.
I did what you suggested (and played with the order of the inlcude and lib files. Now (almost independently on the order of those files) I have a list of errors pointing towards WinReg.h file. Fisrt error points to the second line in:
RegCloseKey (
IN HKEY hKey
);
saying
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WinReg.h(145) : error C2065: 'HKEY' : undeclared identifier
Must admit that I don't understand why order of include files is important and what how to get ride of new error messages. Would appreciate any comment.
Thanks, Bakhti
|
|
|
|
|
hai
I want to assign À0"8! to a byte array...ie byt[0] = À, byt[1] = 0 ..and so on..i did as
BYTE byt[5] = "À0"8!";
but its giving errors..how should i do this??
thanks..
|
|
|
|
|
When you assign a string to an array there's a hidden '\0' character, so in fact in your code above you're assigning 6 characters to an array that can hold 5.
Try BYTE byt[5] = {'a', 'b', 'c', 'd', 'e'};
|
|
|
|
|
Hello,
I have been having this compiling issue today and I don't really know what I am doing wrong.
Nothing better than an example to make myself understood thus consider the following example:
class objA
{
public:
objA(){};
~objA(){};
public:
virtual bool Setup(int){};
bool Setup(float){};
};
class objB : public objA
{
public:
objB(){};
~objB(){};
public:
virtual bool Setup(int){};
};
class C
{
public:
C(){};
~C(){};
public:
bool doTest()
{
objB b;
b.Setup(100);
b.Setup(0.0001);
};
};
Why am I getting this warning? I mean, shouldn't the compiler automatically use the float-version method, or are there any rules I am aware of?
Any insights as to why this is happening will be greatly appreciated.
Thanks,
David
|
|
|
|
|
Because your Setup function is declared to accept an integer
<br />
class objB : public objA<br />
{<br />
public: <br />
objB(){}; <br />
~objB(){};<br />
public: <br />
virtual bool Setup(int){};
};<br />
|
|
|
|
|
Since the 0.0001 is set-up as a const double type by the compiler, it is going to have to cast it since you have not provided an explicit cast. I'm not familiar with all the rules each compiler will use in order to decide what cast to use, but at least you are given a warning about the cast. Have you tried this
b.Setup((double)0.0001);
Chris Meech
I am Canadian. [heard in a local bar]
Gently arching his fishing rod back he moves the tip forward in a gentle arch releasing the line.... kersplunk [Doug Goulden]
|
|
|
|
|
I have an application writing out a Date/Time field into an Access database. On some computers the resulting table has 11/12/2004 for November 12, 2004 and on others it is 12/11/2004. The problem is that the second format when it is being read back in or queried on is being read as December 11, 2004.
Is there some setting I am missing here?
The app creates the database table, writes it and then queries on it yet runs differently on different computers because of this day/month switching.
Any ideas?
Thanks
"The world is a dangerous place to live, not because of the people who are evil, but because of the people who don't do anything about it."
Albert Einstein
Dave
|
|
|
|
|
Verify that the International settings for Date/Time are the same on each of the computers you are running on.
Chris Meech
I am Canadian. [heard in a local bar]
Gently arching his fishing rod back he moves the tip forward in a gentle arch releasing the line.... kersplunk [Doug Goulden]
|
|
|
|
|
Hey,
I was just fooling around with what appeared to me to be a relatively straightforward bit of code when Visual Studio gave me with the error that "the stack around the variable 'count' was corrupted". I ran it in the debugger and everything looked fine, up until the moment the error popped up, which was between return 0; and the closing brace. The problem also seems to be dependent on the value passed to srand(). I would assume it had something to do with the program being unable to deallocate its memory or something, but I really don't have a good guess. Any ideas?
<br />
int main()<br />
{ <br />
int count[10]={0};<br />
srand(3);<br />
for(int x=0;x!=50000;x++)<br />
{ <br />
count[(int)(rand()*10/RAND_MAX)]++;<br />
}<br />
<br />
for(int i=0;i!=10;i++) <br />
{<br />
cout<<"count["<
|
|
|
|
|
count[(int)(rand()*10/RAND_MAX)]++;
This will corrupt the stack if rand() == RAND_MAX because count[10] is invalid.
try this code instead:
count[rand() % 10]++;
John
|
|
|
|