|
Visual Assist can only do this for headers you've got in your solution and the standard library. As far as I know it can't do something like say "hey, it looks like you're using a crypto function from OpenSSL..."
The Lakos code was originally published in "Large Scale C++ design" in the early 90s - I've seen it kicking around online several times but I haven't got a link handy.
Cheers,
Ash
|
|
|
|
|
I've found the book on Amazon, I'll add it to the list next time we update our office library.
Thanks, you've been very helpful!
Jim
|
|
|
|
|
There's always the brain-dead approach: comment some out and see if it still compiles.
Steve
|
|
|
|
|
I'm kinda wondering...Why not C++ reflection?
|
|
|
|
|
I think this is an already very well debated question, see for instance (OMG: the competitors!) [^].
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Chapter 14 of "The Design and Implementation of C++" by Stroustrup has got a pretty good summary of why the type inspection abilities of the language are the way they are and why some of the things that are regarded as reflection aren't in the language. It's also got a fairly good C++ implementation of a dynamic object reader which shows you how you can get some reflection type abilities out of the language without too much work.
Cheers,
Ash
|
|
|
|
|
I need to render a image in progress bar control. Can anyone please help me how to do this.
Thanks in advance
|
|
|
|
|
The steps are:
1. Subclass the control
2. Handle WM_PAINT
3. Draw the graphics as you like.
|
|
|
|
|
Thanks for ur reply,
But my question is " How I can render a image in the progress bar, Suppose I hv a line image with green color and I want that line image should increase in progress bar ".
I hope u will help me. If possible plz send some code.
Thanks
|
|
|
|
|
If the image can be stretched you can do the following. (Its MFC and without error checking)
void CMyProgressCtrl::OnPaint()
{
CPaintDC dc(this);
CRect rc;
GetClientRect(rc);
int nLower, nUpper;
GetRange(nLower, nUpper);
int nPos = GetPos();
int nWidth = (int) ((nPos / (float) (nUpper - nLower)) *rc.Width());
BITMAP bm;
m_bitmap.GetBitmap(&bm);
CDC dc2;
dc2.CreateCompatibleDC(&dc);
CBitmap *pOldBitmap = dc2.SelectObject(&m_bitmap);
dc.StretchBlt(rc.left, rc.top, nWidth, rc.Height(), &dc2, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY);
dc2.SelectObject(pOldBitmap);
}
|
|
|
|
|
Thanks For ur response..
Could u plz tell me what is m_bitmap.GetBitmap(&bm) does. Becose I am getting assertion error at that line while running .
|
|
|
|
|
It's getting some general properties for the bitmap. In this case we are interested in the size of the image bmWidth and bmHeight members of the BITMAP struct, to be able to know how much to stretch the image.
If you get an ASSERT it could be because you have not loaded any bitmap yet. I assume m_bitmap is of type CBitmap and that it is declared as a member of CMyProgrssCtrl .
In the constructor (or Create and PreSubclassWindow ) do m_bitmap.LoadBitmap(IDB_BITAMP) where IDB_BITMAP is the bitmap you have in your resources.
|
|
|
|
|
Thanks dear..
I have done it with Image class and its working fine, only I hv to do some modification..
Thanks a lot...
|
|
|
|
|
|
AbhiHcl wrote: Becose I am getting assertion error at that line while running .
What line of what file is asserting?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
When I compile my project, it shows the following linker error.
fatal error C1900: Il mismatch between 'P1' version '20080116' and 'P2' version '20070207'
How do I resolve this error?
|
|
|
|
|
Reinstall your development environment. It look like it's using a mixture of two tool-set versions.
Steve
|
|
|
|
|
Reinstalling VC++ didn't work.
|
|
|
|
|
The error message is explained here[^]. Can you quote the exact message?
Steve
|
|
|
|
|
C1900 is not a linker error, but a compiler error. Have you tried Googling for C1900?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
I am attempting to document my code and its turning into a huge mess. The syntax for doxygen is making my code look terrible as theirs so many commenting styles now and I have parts of the code that the user does not need to be aware of that doxygen automatically adds. For example I have a structure and even with no commenting it shows up on the modules page and variables.
I also dislike how the functions are in random order, their should be a way to define their order as having the init() 3rd from the bottom makes no since.
Can anyone recommend a site that shows an empty source file and section by section they add the commenting and go over how to include/exclude variables & functions and how to modify the generated HTML layout?
Documentation is a project onto itself isn't it...
|
|
|
|
|
Just pass the headers to your interfaces through Doxygen - then only things that matter to the users of your code will be documented. Things like internal implementation details won't show up. Then you can concentrate on presenting your interfaces using Doxygen and you won't have to worry about any dirty implementation details.
Cheers,
Ash
|
|
|
|
|
I like to have clean header files that just give the relevant data and functions to the user, I use to just block document the header but figured as things got more complex I should use doxygen as then I can give examples and everything is in a organized place. Do you guys usually keep a copy of the header with all the doxygen markups and then include a clean unmarked copy with the library or something as my header looks like confetti.
|
|
|
|
|
To be honest I don't tend to use Doxygen anymore - I find a decent set of unit tests usually works better to describe how to use something. However when I did use it a couple of years ago everything got piled in a single copy of the interface files. I've never tried it but I can imagine things getting a bit hairy and hard to keep synched if you keep two versions of things.
Cheers,
Ash
|
|
|
|
|