|
istream& operator>>(istream& in)
{
//Write ur code
in>>string ;
// Some code
...
return in;
}
//Assuming that the fn is a member of the class.
if not then the following
if the class's name is 'A'
class A
{
..
friend istream& operator(istream& in, A &a) ;
..
};
istream& operator(istream& in, A &a)
{
...
}
Hope this helps
|
|
|
|
|
I have a function which accepts a variable number of integer arguments like so:
void MyFunc(int nVal, ...);
I want to grab the first one, and pass the rest to a similarly defined function. How do I do that?
To hell with those thin-skinned pillow-biters. - Me, 10/03/2001
|
|
|
|
|
My understanding is if you use va_arg, va_start & va_end, one parameter is stripped from the list at a time as you parse them. If this is so, then you could strip the first one ( as you will obviously need to ) and then pass the resultant list along.
Of course, I could just be full of it....
Christian
As I learn the innermost secrets of the around me, they reward me in many ways to keep quiet.
Men with pierced ears are better prepared for marriage. They've experienced pain and bought Jewellery.
|
|
|
|
|
I tried that. No workee.
If I had the code I was playing with at work, I culd provide an example of what I've already tried.
Essentially, I passed 1,2,3,4,5 as parameters to the 1st function, used va_start to get the first parameter, and passed the list to the next function, and so on.
Func1 got 1 as the 1st param
Func2 got 2 as the first param
Func3 got 96 as the first param
Func4 got -20
By then I stopped because I knew something was seriously hosed up.
If I can't do this, I have to resort to passing a string or array of values.
To hell with those thin-skinned pillow-biters. - Me, 10/03/2001
|
|
|
|
|
Hi,
Why does the following code generate a compile error of C2065 in VC 6++
CStdioFile myFile; <-Why do I have to do this to avoid the compile error C2065 (Undeclared identifier)
TRY
{
CStdioFile myFile((LPCTSTR)m_FilePath, CFile::modeRead | CFile:: typeText);
}
CATCH (CFileException, err)
{
MessageBox("Can't open file",...);
}
END_CATCH
Maui.File.SeekToBegin(); <-Asserts here due to Null reference
To get the asserts I had to put a variable declaration of CStdioFile myFile at the top of the function. This is because of the error I get with "Undelcared identifier". I don't get it isn't it already being declared in the TRY...CATCH block? And why is it when I make a forward declaration it still asserts at the following two lines after END_CATCH?
Really confused Please help.
Sam C
----
Systems Manager
Hospitality Marketing Associates
|
|
|
|
|
If you want to access myFile, it must be declared outside try/catch. And you should just use myFile in try/catch - currently you're creating another variable with identical name - and assert fires, because myFile visible outside of try/catch block is different than myFile you're playing with inside.
BTW: why don't you use plain try/catch instead of MFC macros?
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
At first I did have try catch set up the old fashioned way.
try
{
CStdioFile myFile(...)
}
catch(CFileException *err)
{
TRACE("PROBLEM OCCURED");
err->Delete();
}
...
But I was thinking that may have been part of my problem MFC confuses me (as you can already tell). So basically I have to go back and Declare it outside and call the OPEN member function from within the try/catch block.
Also is it bad to use MFC macros for MFC exceptions? I have never heard of a problem with this?
Thanks for your quick response.
Sam C
----
Systems Manager
Hospitality Marketing Associates
|
|
|
|
|
This has something to do with "scope" of the TRY block, i.e. TRY{...}. It's fine to use the variable inside the scope, i.e. inside the braces, but not outside of it (which you were doing in your ASSERT statement).
Hope this helps.
// Fazlul
Get RadVC today! Play RAD in VC++
http://www.capitolsoft.com
|
|
|
|
|
So if I only wanted to check basically the "OPEN" function of the class I have declared I have to encapsulate the rest of the code within the try block? So for example:
...
try
{
Open(...)
}
catch (...)
{
}
And I can't do this?
try
{
Open(...);
}
Catch (...)
{
}
REST OF FUCTION CODE HERE USING CStdioFile
I find that peculiar and thanks for informing me of the try/catch scope, I did not know that it had it's own scope.
Sam C
----
Systems Manager
Hospitality Marketing Associates
|
|
|
|
|
You're right. This scope thingy is related to braces and has nothing to do with TRY-CATCH. You can get similar error with the following code:
{
int n = 0;
}
n = 5;
Hope this helps.
// Fazlul
Get RadVC today! Play RAD in VC++
http://www.capitolsoft.com
|
|
|
|
|
How can i convert BMP file to JPEG file ?
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
It's in the FAQ.
Christian
As I learn the innermost secrets of the around me, they reward me in many ways to keep quiet.
Men with pierced ears are better prepared for marriage. They've experienced pain and bought Jewellery.
|
|
|
|
|
Hi,
Can you tell me, where is FAQ in this website ?
Please write URL address.
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
The link is at the top of the lounge. There are three in a row, from memory - Demographics, Top 10 posters, Mike Dunn's C++ FAQ.
Christian
As I learn the innermost secrets of the around me, they reward me in many ways to keep quiet.
Men with pierced ears are better prepared for marriage. They've experienced pain and bought Jewellery.
|
|
|
|
|
I found it ...
Thanks ...
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
Hi all,
Please explain to me about Mode values in connection string ...
Please explain about: ModeShareExclusive - ModeShareDenyWrite - ModeShareDenyNone and other values ...
In last, what is Mode default vlaue ? Is that ModeUnknown ?
I read MSDN but i didn't understand ...
Thanks for replies ...
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
Probably a dumb question but.. How do you redraw controls with out redrawing the whole window.. I have a few buttons that on get focus I would like to redraw.
Thanks,
Rob
|
|
|
|
|
Call RedrawWindow(). For example, if you want to redraw a button with ID IDC_BUTTON1 in a dialog, then you call this in dialog class:
GetDlgItem(IDC_BUTTON1)->RedrawWindow();
Hope this helps.
// Fazlul
Get RadVC today! Play RAD in VC++
http://www.capitolsoft.com
|
|
|
|
|
Yep, I figured it was something very simple.
Thanks for the fast reply!!
Rob
|
|
|
|
|
Is there a way that I can create a modeless dialog that stays inside of it's parent frame? I'm trying to create a dialog which keeps the parent active (not modal) and stays within a parent frame (like an MDI child).
-Mark Lenz
|
|
|
|
|
There are a bunch of demos under Dialogs in this web site.. Is this what you're trying to do?
http://www.codeproject.com/dialog/stackdialog.asp
Rob
|
|
|
|
|
No, I don't mean a dialog inside a dialog. I want to be able to have a dialog (or window) which stays within the boundaries of it's parent (the main frame window) but doesn't prevent the user from access controls on the parent. Imagine an MDI application with it's child frames inside of it. They can't leave the boundary of the parent frame, but you can access controls on the main frame and the other child windows. You can resize the child windows and move them around. Can I create a dialog that has the same behavior?
-Mark Lenz
|
|
|
|
|
I understand now.. And thats a good question
I'll do some checking and see if I can come up with something.
Rob
|
|
|
|
|
In Dialog base(MFC) application.
I Create second Dialog (I have Seperate Class for that Dialog) OnInitDialog() through Create(IDD_DLG, this);
So It becomes Modless Dialog.
Problem is that when Second Dialog(Child) when Display it is above of First Dialog(Parent).(as it should be b/c it is Current Focus)
I need when First Dialog(Parent) is Clicked(Focused) it becomes above of Second Dialog (Child).
and when Second Dialog (Child) is Clicked(Focused) it becomes above of First Dialog(Parent).
I try to use SetWindowPos(). But did not work. Like following
SetWindowPos(&CWnd::wndTopMost, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE);
::SetWindowPos(AfxGetApp()->GetMainWnd()->m_hWnd, HWND_TOPMOST, 0, 0, 0,0, SWP_NOMOVE | SWP_NOSIZE);
I also need to know which event occure when any Dialog get Focus (active). Even Clicked on the System Menu.
WM_PAINT
WM_SETFOCUS
GetFocus
I check all all these messages. They are not
Some code will be helped alot . . .
Thanks in advance.
|
|
|
|
|
You're creating the second as the child of the first. Try making the parent window NULL, or create both dialogs as children of a main dialog, which is not visible.
Use Spy++ to see all the messages sent when a dialog becomes active. I believe the one you want specifically is WM_CAPTURECHANGED
Christian
As I learn the innermost secrets of the around me, they reward me in many ways to keep quiet.
Men with pierced ears are better prepared for marriage. They've experienced pain and bought Jewellery.
|
|
|
|