|
|
'The C++ Standard Library' by Nicolai Josuttis - v. good IMO.
Stuart Dootson
'Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p'
|
|
|
|
|
Generic Programming and the STL is good, it's basically an extension of the SGI docs. You should go to sgi.com/tech/stl first to see if their online docs are enough for you. I also second that you MUST own 'Effective STL' from Scott Meyers.
Christian
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002
|
|
|
|
|
Joe Woodbury wrote:
Anyone have recommendations for recent STL reference books for an otherwise very experienced C++ programmer.
The book Effective STL by Scott Meyers is excellent, IMO. It was my first STL book ever; between it and the STL docs from SGI , I think I've been in good shape.
By the way, I liked your answer to the poster who asked about marketing software!
|
|
|
|
|
Thanks.
Meyers other books are great and this one apparently follows suit, so I'll get it.
|
|
|
|
|
I'm trying to implement owner-drawn menus in wtl 7.0. Unfortunately, I cannot determine the standard size of menu items.
My first attempt was
pms->itemHeight = ::GetSystemMetrics(SM_CYICON);
which didn't work. Next I tried
CFont font((HFONT)GetStockObject(DEFAULT_GUI_FONT));<br />
LOGFONT lf;<br />
font.GetLogFont(&lf);<br />
pms->itemHeigt = lf.lfHeight + 8;
which is what wtl source code led me to beleive. Unfortunately, lf.lfHeight + 8 does not help and the actual value seems to be lf.lfHeight + 10 . Does anyone know the correct way of doing this? Help would be much appreciated.
TemplMetaProg
|
|
|
|
|
Have you tried handling the WM_MEASUREITEM message? This message is sent when your menu is created and it will tell you how large your menu item is.
Build a man a fire, and he will be warm for a day Light a man on fire, and he will be warm for the rest of his life!
|
|
|
|
|
that's EXACTLY what I'm trying to do...
I've tried calling parent's OnMeasureItem and then leaving itemHeight alone, but that doesn't help
nous sommes les maitres
nous sommes les esclaves
nous sommes partout
nous sommes nul part
nous maitrisons les lettres noires
|
|
|
|
|
Hi,
I'm kinda new to ATL and as such I'm after a little guidance
Say i want to be able to get Cheeseburger objects from Maccas. ie. A client would have to create a Maccas and then ask it for a Cheeseburger.
I can create the Maccas class using the ATL create object wizard, but i am unsure how i should create the stub code for the Cheeseburger object. Do i use the object wizard again? Would this not unnecessarily create a CoClass for the object and make it seperately instantiable (you don't have to get Cheeseburgers from Maccas anymore). How else do i do it?
In case it is important its desireable to support c++ and VB automation clients (scripted from office macros).
Thanks a bunch!
Alex
|
|
|
|
|
What I usually do is let ATL create it through the class wizard, then remove the stuff that I do not need.
So as you said, you do not want to create it using the CoClass object. Therefore remove the derivation from CComCoClass in your Cheesburger class. You will also need to go to the main cpp file of your project where the DLL entry point is located and remove the Cheeseburger entry from the
BEGIN_OBJECT_MAP map. This map tells the DLL which objects can be instantiated through CoCreateInstance.
That is all that you will need to do in order to prevent the object from being instantiated outside of your DLL. Then when you want to instantiate your class from the Maccas object, you will not be able to use new Cheeseburger because your class is still an abstract base class. You will actually need to do something like this:
<br />
CCheeseburger *pCheeseBurger = CComObject<CCheeseburger><br />
Good Luck
Build a man a fire, and he will be warm for a day Light a man on fire, and he will be warm for the rest of his life!
|
|
|
|
|
Thank you, thank you, thank you!
|
|
|
|
|
I have posted a question associated with the article announcing the 2.24 release of the grid. I thought I would include this link for any ATL wizards who may wish to consider the problem.
thanks
|
|
|
|
|
How can I implement a single MSMQEvent object to handle multiple queues??
|
|
|
|
|
Hi all,
I am using a program which generates values in hex and in order to plot I want to convert these values to decimals.
I wonder if there is any free editor which coverts hex values to decimals.
thanks for help
regards
/rsasalm
|
|
|
|
|
Hi again,
I forgot to mention that the program I am using, generates
the hex values in a file and it is a big file.
What I want is to paste all the hex values generated from the program and convert them to their corresponding decimal values.
Any help
regards
/rsasalm
|
|
|
|
|
I have a COM component DLL created in ATL and used on an ASP page. When I make changes and recompile I get a link error saying that it can't open the DLL for writing. The web server still has access to it. How do I stop and restart the web server?
This is on Windows NT4 Worstation + Option Pack.
I vaguely remember that I must do
net stop xxx
net start xxx
Kevin
|
|
|
|
|
You must do:
net stop w3svc
net start w3svc.
Best regards,
Alexandru Savescu
|
|
|
|
|
|
Download the kill.exe command (I guess from MSDN it should be ok),
then kill.exe w3svc will stop then restart IIS.
To avoid killing IIS all the time, I would suggest to make your COM component an out-proc, at least temporarily.
MS quote (http://www.microsoft.com/ddk) : As of September 30, 2002, the Microsoft® Windows® 2000 DDK, the Microsoft Windows 98 DDK, and the Microsoft Windows NT® 4.0 DDK will no longer be available for purchase or download on this site. Support for development will ship at the same time as the Windows XP Service Pack 1 (SP1) release.
|
|
|
|
|
I use Process Explorer from www.sysinternals.com. It allows me to kill inetinfo when net stop w3svc says that the service cannot be stopped. However, in my activity of developing ISAPI extension I can crash inetinfo so badly that only a reboot will help.
Best regards,
Alexandru Savescu
|
|
|
|
|
|
If you store them using the following:
vector<A> myVec;
then the A1 and A2 instances will indeed be downcast to an A as you put them in. Storing pointers is the only way to get polymorphism. you'll also need to write a functor to use with for_each or similar to call delete on them when you're finished with the vector.
Christian
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
Cats, and most other animals apart from mad cows can write fully functional vb code. - Simon Walton - 6-Aug-2002
|
|
|
|
|
is the method declared as virtual at all levels in the class hierarchy?
Can you consider making the declaration of the method in A a pure virtual method?
Just trying to keep the forces of entropy at bay
|
|
|
|
|
Hi,
I am looking for the simpliest way to make the status bar show help messages for toolbar buttons (just like in MFC apps). Is there (in WTL) some hidden feature that can be just enabled, or do I have to make it all myself?
Thanks for any suggestions,
Vlasta
|
|
|
|
|
Hello,
I am trying to create a "Windowed Only" ActiveX control in .Net Studio using ATL. I set the appropriate flag in ATL control wizard when adding a new class to my project. But it looks like it does not have any affect. My control still does not get any window messages and Spy++ indicates it has no window.
I tried to create two similar classes using wizard -- in one case I set "Windowed Only" flag, in another case I don't. Then I compared the generated code -- no difference.
What am I doing wrong? Please, help!
--Daniel
|
|
|
|