|
When you Serialize you can give the archive object a pointer to an object and as long as this object have the Serialize function is works, you can see the the << operation worked and it is also going through the same serialize function.
by the way, If I do this:base_class->Serialize(ar) ,it works , but then it will not read the object Schema which I can't afford....
Thanks
Shay
|
|
|
|
|
OK, in that case I suppose I could complain about Microsoft using the iostream notation and changing the rules, but the bottom line appears to be that I have no idea what I am talking about....
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
Shay, see this[^] article for an explanation.
/ravi
Let's put "civil" back in "civilization"
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
I will appretiate it if you can be more specific and explain why the wtire operation is OK with the compiler and the read is not.
the write goes well and smooth, I was able to read the file in HEX mode and I see the object's data structure written nicely so I know it works.
Once, again, why the compiler complains it can't use this operator when the other operator worked...
Thanks
Shay
|
|
|
|
|
|
If a certain condition is fulfilled in a subdialog, i close the subdialog and return to the original parent dialog.
What i want to do is when i return to the main dialog, i want to make visible a DlgItem, which is not visible by default. If i was in the main dialog, i would have used ShowWindow(TRUE) . But how do i trigger this on the closing of the subdialog?
Cheers,
Ayush
|
|
|
|
|
Use GetParent and cast it to the right type of dialog, so it can see the item. Or just do it in the main dialog by checking the state of varables in the sub dialog after it closes.
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
If i do it in the main dialog by checking variables, where would i declare it? i.e. where does the program return to once the subdialog closes?
|
|
|
|
|
Declare a method in your dialog, such as GetShouldIDoIt, and have it return the state. If you do this:
CMyDialog dlg;
if (dlg.DoModal() == IDOK)
{
// at this point your CMyDialog instance exists, although none of it's windows do, so you can call it's non Window methods.
// and check any public variables if you defied OO and created some.
if (dlg.GetShouldIDoIt())
myControl.ShowWindow(SW_HIDE);
}
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
How and where does one define a variable that can be used by all subclasses?
Cheers,
Ayush
|
|
|
|
|
In the base class. It needs to be protected, rather than private in order to be usable by derived classes. Of course, you wouldn't dream of making it public, right ?
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
Come on, feeeeeeeel the burn. Place the global in the root namespace. Live on the edge.
Tim Smith
I'm going to patent thought. I have yet to see any prior art.
|
|
|
|
|
bah. if want to really prove you're a man, you'll put it in the registry!
-c
A conclusion is simply the place where someone got tired of thinking.
|
|
|
|
|
Forget the registry! Put it on the internet. Equal access by all.
/ravi
Let's put "civil" back in "civilization"
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
Oh goodie, yet another opportunity to create one of those wonderful web services we keep hearing about.
Regards,
Alvaro
Well done is better than well said. -- Benjamin Franklin
(I actually prefer medium-well.)
|
|
|
|
|
|
*grin* That's the spirit. I'm too much of a wuss, I admit it.
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
Im a bit confused. I think my base class is my main dialog class right?
i declared it under protected in the header. But it doesnt seem to work. Shouldnt the variable get listed under "Global Variables" ? also, when i call it in other classes i need to redefine it, so that cant be right.
Please Help!
|
|
|
|
|
Ayush wrote:
I think my base class is my main dialog class right?
Only if your other classes are derived from it, which is unlikely.
Ayush wrote:
Shouldnt the variable get listed under "Global Variables" ?
Global variables are satanic. If you insist on using them, at least wrap them in a namespace.
Ayush wrote:
also, when i call it in other classes i need to redefine it, so that cant be right.
If you need to set the value, then it's fine. If you need to change it's definition, then it's a new variable, isn't it ?
class A
{
protected:
int a;
private:
int b;
}
class B : public A
{
B:B()
{
a = 7; // OK
b = 3; // No good that is.
}
}
I suspect you don't have a class heirarchy at all, you're just talking about unrelated classes in your project. AfxGetMainWnd() will get you the main window of your project, you can store variables there. It returns a CWnd*, you'll need to cast it back up to whatever your class is called.
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
Christian Graus wrote:
Global variables are satanic. If you insist on using them, at least wrap them in a namespace.
Hmmm, if you write C, not C++, they are often nice. I use global variables sometimes, when they help me get the work done
- Anders
Money talks, but all mine ever says is "Goodbye!"
|
|
|
|
|
Well, clearly in C you have no choice
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
I think you're thinking the variale will be seen in the IDE class explorer under the "Global Variables" tree node, right? If you reeeeely want to make it global (and see it in there,) declare it outside any class definition, otherwise, it'll just appear as a protected member of your Dialog class, and the value will depend on the Dialog (or it's derived class') instance.
|
|
|
|
|
I have an MDI application that utilizes multiple static splitter windows to display my data. I added some toolbar buttons to manage the relative size of the splitter window views, but can't figure out how to cause CMDIChildWnd (this is where I added the button handlers) to recalculate the layout with my new view sizing.
If I resize the CMDIChildWnd with mouse after setting up my display variables, RecalcLayout is called and resizes the splitter windows as expected. I can't figure out how to implement this under program control.
Thanks in advance...
|
|
|
|
|
Must be a tough question!
|
|
|
|
|
Assuming the frame window owns the splitters, have the button handlers in the MDI child window pass the commands to the frame (which you can get via AfxGetMainWnd() ), which recalculates the splitter information. CSplitterWnd has the methods GetRowInfo , SetRowInfo , GetColumnInfo , and SetColumnInfo for manually setting the splitter locations.
Software Zen: delete this;
|
|
|
|
|