|
I've (finally) decided to join the 20th century and switch to VC7.
Does anyone know how to permanently (i.e. globally) turn off code outlining. I know you can R-click a source file and toggle it, but I was hoping to find a global setting. Thanks,
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Toosl->Options->Text Editor->[Language]->Formatting
Michael
But you know when the truth is told,
That you can get what you want or you can just get old,
Your're going to kick off before you even get halfway through.
When will you realise... Vienna waits for you? - "The Stranger," Billy Joel
|
|
|
|
|
|
ahhhhhhhhhhhhhhhhhhhh ravi
there are sooooooooo many more horrors waiting to jump u
i HATE the ide of vs.net for c++ coding
"there is no spoon" biz stuff about me
|
|
|
|
|
I can imagine...
I spent (wasted) several minutes fighting VC7's desire to tabify my windows in ways that can only be described as unholy. And why did they do away (i.e. change) Alt-F3? I've got the IDE to (sorta) resemble my old favorite, but I'm sure I'll run into more problems once I start using the thing to real work.
Oh, and an attempt to convert a VC6 DLL (that uses a lot of STL) caused it to complain that it couldn't find "iostream.h" (it should be in my #include path), and a few seconds later, crashed my W2K box. First crash in years!
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
yah
it really is a huge step forward in productivity tools
NOT!
wait til u try and find class wizard
"there is no spoon" biz stuff about me
|
|
|
|
|
NO!!!! NOT ClassWizard!!!
What I really need to use VC7 for is CDHtmlDialog . I'm building a wizard GUI that's served up from a webserver, and need to get/put form data between the form and my app. Any suggestions?
Thanks,
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
why dont u just host the ie control in a standard dialog box?
use http post functions to communicate
it should be easy
certainly not enuff reason to install vs.net
"there is no spoon" biz stuff about me
|
|
|
|
|
Yes, hosting IE is easy, but I want to override 404s, context menu handling, and most importantly, get/set data from the form to my app.
I suppose I could wade thru a lot of COM calls to make this happen, but our shop will be moving (eventually) to VC7, and I thought I'd lead the way and experience the pain so the rest of my team doesn't have to.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
I was reading about output iterators (write only) in stl, and the prototype shows that the * (deref) returns (*this)
Iterator& operator * ();
For a regular iterator I had interpreted *I as meaning "contents of I", and it gave back a reference to some type T stored at that iterator since the normal prototype is
T& operator *();
I am puzzled now. If I want to assign a T value x to the location of the iterator, how can I say:
*I = tval;
??
The lhs is a ref to an iterator (a pointer) and the rhs is of type T. I am thoroughly confused.
thanks,
ns
|
|
|
|
|
The *I = tval is correct. You can assign a object of type T to a reference of type T&
Robert-Antonio
|
|
|
|
|
Except that the LHS is not a ref to T....
Iterator& operator * (); its a ref to an iterator....
Thanks,
ns
|
|
|
|
|
Sorry, I've read so fast
You should use simply I = val
This assign val to a position described by I and increments I by 1.
Robert-Antonio
"A flower walked around a meadow. She saw a beatiful human and plucked off his head."
|
|
|
|
|
If anyone knows how to send a two dimensional array to a function, I would be immensely grateful, because I have tried all sorts of ways, and the compiler (VC6) keeps rejecting every which way I try.
In case you're thinking the following code would work, IT DOES NOT!! The compiler rejects it with the message, "Cannot convert parameter 1 from 'short [5][5]' to 'short**'."
short tree[5][5];
void Func(short** treeArray);
Func(tree); Single dimension arrays are no problem. Those get accepted without even as much as a second glance. It's when you get into the multi-dimensional arrays that the compiler seems to draw the line.
Thanks for any insight.
William
Fortes in fide et opere!
|
|
|
|
|
Here's one way:
void Func( short treeArray[][5] );<br />
Func(tree);
Here's another:
void Func( int *treeArray )<br />
Func(&tree[0][0]);
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|
Thanks for replying.
The compiler did not like the first way, it reported an error. It accepted the second way and the program worked fine!!
Thanks for the help! I appreciate the generosity of your CodeProject spirit!
William
Fortes in fide et opere!
|
|
|
|
|
WREY wrote:
The compiler did not like the first way, it reported an error.
And that error was?? It worked fine for me using VS6.
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|
My apology!
In my over-excitement I must have mistyped something because when I went back over the first sample and retyped it properly, everything worked!
With the same degree of sobriety, I retyped the second sample over, and interestingly that is the one which isn't working now. The compiler produced the following message: "subscript requires array or pointer type". Here's the code.
short tree[5][5] = {0};
void Func(short* treeArray);
Func(&tree[5][5]);
void Func(short* treeArray)
{
for(short i=0; i<5; ++i)
{
for(short j=0; j<5; ++j)
cout<<treeArray[i][j] <<' ';
}
} The reason why I initially reported the second sample had worked, was because I had accessed it as a single dimension array. This time (as you can see from the sample) I am accessing it as a two-dimensional array and the compiler is producing the error message shown above.
For the fun of it, I did enter some data into the 'tree' array to see if it gets printed (which is what happened when I originally accessed it as a single dimension), but now, it's not even getting compiled.
William
Fortes in fide et opere!
|
|
|
|
|
void Func(short* treeArray)
{
for(short i=0; i<5; ++i)
{
for(short j=0; j<5; ++j)
cout << treeArray[(i * 5) + j] << ' ';
}
}
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|
Bless you, O Champion of Solid Code, and Rescuer of the Frustrated!
May you bask in Balmy Weather and live in Comfort all the days of thy Life!
William
Fortes in fide et opere!
|
|
|
|
|
Just as a side note, what you're posting to the function is the address of the last cell of the matrix. Now, inside the function, you move from this address forward, and although it compiles properly, it might cause an access violation or print arbitary stuff.
Instead, pass &tree[0][0] or go backwards from 5 to 0 in the for-loop. But I guess you figured this out after the first run of the program
-Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|
Thanks for replying, and thanks for that valuable addition to the subject matter.
William
Fortes in fide et opere!
|
|
|
|
|
The automatic conversion from array-of-X to pointer-to-X only works for one-dimensional arrays. If you could convert from short[5][5] to short** the compiler has no way of knowing how to access elements through the short** because the dimensions have been lost.
You can use a prototype of:
void Func ( short treeArray[5][5] ); specifying all dimensions, or:
void Func ( short treeArray[][5] ); specifying all dimensions except the first.
--Mike--
Ericahist | CP SearchBar v2.0.2 | Homepage | 1ClickPicGrabber | RightClick-Encrypt
Actual sign at the laundromat I go to: "No tinting or dying."
|
|
|
|
|
Thanks for replying.
Lesson duly learnt.
I appreciate the words of wisdom!
William
Fortes in fide et opere!
|
|
|
|
|
How to put a CRebar or CRebarCtrl in a dialog based application?
I my current, I am trying to add a CRebarCtrl into a dialog based application(either modal or modeless). I created the CRebar and also added a Toolbar into it. There is no error, but I cannot see the Rebar.
Please reply and tell me what I should do to make the rebar show up.
Thanks a lot in advance.
I have put the following code in OnInitDialog()
if (!m_wndReBar.Create(this))
{
AfxMessageBox("Failed to create rebar");
return -1; // fail to create
}
m_bmap.LoadBitmap(IDB_BITMAP1);
m_wndToolBar.CreateEx(this, TBSTYLE_TRANSPARENT | TBSTYLE_FLAT);
m_wndToolBar.LoadToolBar(IDR_TOOLBAR1);
m_wndReBar.AddBar(&m_wndToolBar,"Main", &m_bmap);
Thanks a lot.
Bin
|
|
|
|