Back in its hey-day Codeguru used to a good stop off point. I remember a while back it was sold off and its gone downhill ever since. Some of the old content is still good reference material though. Its a shame. Competition after all is good. ade me; while(myKitchen.beerInFridge() == true) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
adrian cooper
Posts
-
Code G*ru -
Interactive Ruby DemoI hope this is not a re-post, but this is a cool site.. Ruby has been the new buzz word for a while now and this interactive demo is a great way to get your mitts dirty. http://tryruby.hobix.com/[^] ade me; while(myKitchen.beerInFridge() == true) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
VS 2003 vs VS 2005Im also looking to check out VS2005. Im looking forward to using the new C++/CLI to target the .net framework. It looks well cool. I havent used 2003, so my jump is going to be from VS6 to VS2005! - Everything will probably come as a shock to me. ade me; while(myKitchen.beerInFridge() == true) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
Webbase GUIDGENcool ade me; while(myKitchen.beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
Managed C++ or C#dont forget if you stick with C++ you additionally get to keep the for_each algorithm too, along with all the other powerful C++ STL algorithms! ade me; while(myKitchen.beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
Managed C++ or C#this is so cool.. deffo is the best of both worlds, as there are differences between templates and generics. for example generics dont allow non-type parameters and doesnt have the ability for user-defined specialization! But having the ability to choose between the two in C++ is the jackpot! Bring home the goodness!!! ade me; while(myKitchen.beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
Managed C++ or C#Personally i would stick with C++. Its like this, if your at home with C++, then i would invest take a look at the new C++/CLI. The boys at Microsoft seem to be doing some good work over there and have cleaning up the synatax from the old MC++. Plus you get to keep the toolset youve built up using the very powerful standard template library via STL.NET. Then theres deterministic destruction c++ way!! yes you get to write destructors and get the ability to put Managed types on the stack! how cool is that! Basically your getting everything you can do in C# plus loads more goodies! And coupled with the new style syntax you'd be silly not to check it out. I think you can download a beta of the C++/CLI Express compiler too from the msdn website. Its deffo gets my thumbs up, and i can't wait! :) ade me; while(myKitchen.beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
Using VC++ Express compiler in Visual Studio 6 IDEYipeee... just had a play making Visual Studio 6 IDE pick up the new Visual C++ Express compiler and tried compiling this simple app using the new C++/CLI and straight away it worked. :):)
#using <System.Windows.Forms.dll> #using <System.dll> #using <System.Drawing.dll> using namespace System; using namespace System::Windows::Forms; public ref class SimpleHelloWorld : public Form { public: SimpleHelloWorld() { Text = "Hello, World."; } }; int main() { Application::Run(gcnew SimpleHelloWorld); }
No intelisense though (as you'd expect) ade me; while(myKitchen.beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); } -
std::queue and Managed classcheck out this article over at codeguru which talks about mixing STL with the .NET Base Class Library. http://www.codeguru.com/columns/Kate/article.php/c4849/[^] ade me; while(myKitchen.beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
How old are my kids? (math puzzle)very cool :cool::cool: waxie me; while(myKitchen.beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
Pro Dev ColumnsAre you out there Mr. Duncan? Whats the story.. I really did enjoy your articles. But i must admit you made me put on so much weight, ordering all those pizza's! :-D waxie me; while(myKitchen.beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
Pro Dev ColumnsWhat ever happened to the regular columns that was being hosted here at CodeProject. Have they run their full course here? I particularly enjoyed the pro developer articles by Chris Duncan. Anyone know? waxie me; while(myKitchen.beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
Catching OutputDebugStringscheers Joaquín.. Im just having a quick read now AdrianCooper me; while(CKitchen::beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
Catching OutputDebugStringscheers mate... I'll have a look at that, as it looks like it will provide valuable info for me.. AdrianCooper me; while(CKitchen::beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
Catching OutputDebugStringshey there papa... yes i am aware of debug output viewer applications but want to do this programatically.. AdrianCooper me; while(CKitchen::beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
Catching OutputDebugStringsI though about creating a Edit window in my app that when called at runtime would catch all OutputDebugStrings that my program was making. After some nosing about on MSDN about catching OutPutDebugStrings i wrote a thread function as below and called it from a menu option. The idea was to eventually create a small window that would be updated with any OutPutDebugStrings that were caught.
UINT catchDebugString(LPVOID param) { TCHAR myChar[1024]; DWORD dwProcessId = GetCurrentProcessId(); HANDLE hHandle = OpenProcess( PROCESS_ALL_ACCESS, false, dwProcessId ); if ( DebugActiveProcess( dwProcessId ) == 0 ) return 0; DEBUG_EVENT de; while ( WaitForDebugEvent( &de, INFINITE ) ) { if ( de.dwDebugEventCode == OUTPUT_DEBUG_STRING_EVENT ) { OUTPUT_DEBUG_STRING_INFO deStr = de.u.DebugString; ReadProcessMemory(hHandle, deStr.lpDebugStringData, myChar, 1024, NULL); } if ( EXIT_PROCESS_DEBUG_EVENT == de.dwDebugEventCode ) break; ContinueDebugEvent( de.dwProcessId, de.dwThreadId, DBG_CONTINUE ); } return 1; }
All was well until i found out i cant call DebugActiveProcess( dwProcessId ) with my own process id , there by making it so i cant catch my own OutputDebugStrings. I just wondered if anyone out there had any ideas of how i could overcome this problem or if there is another way to catch OutputDebugStrings?? cheers AdrianCooper me; while(CKitchen::beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); } -
GetLast Error and Watch windowHey there guys... Just found out that if you want to get the last error of api calls then just type: @err,hr into the watch window... A very useful tip i thought and saves you programaticaly calling the the GetLastError api function! AdrianCooper me; while(CKitchen::beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
light projected keyboard.Right ive heard it all know.. This really is star trek stuff.. Check this out guys.. Its a device that projects an image of a keyboard which can then be typed on!!! - very cool :cool::cool::cool: http://www.canesta.com/videos/keyboard.wmv http://www.canesta.com/chipset.htm AdrianCooper me; while(CKitchen::beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
VC7 to VC6 project conversion toolthis is purrfect.... excellent AdrianCooper me; while(CKitchen::beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }
-
Command LineThe command line isnt dead!!! Its just taking a break! (and a well deserved one at that) I still use it often.. Somethings just cant be beaten! AdrianCooper me; while(me.beerInFridge()) { me.watchTV(); me.consumeBeer(); }