We are looking for C++ Developers

Well I didn’t say anything last time we posted C++ developer job roles, but we currently have two openings for C++ developers asĀ permanent Caterpillar employees, so if you have 4+ year experince in C++ and you want to live in the greater Peoria, IL area.

go to http://www.caterpillar.com/careers/job-opportunities/job-search

then click on ‘Agree‘ at the bottom

click on the ‘Search for Jobs Now‘ button on the left

scroll down to ‘Job Opening ID:‘ and enterĀ 89466

Job posting closes on the 11:59 pm (CST) on Monday, November 14, 2011.

Learn more about Team Caterpillar

WinCE Remote Debugging: “No process is on the other end of the pipe.”

I have a new WinCE platform to port our project onto, and was getting “No process is on the other end of the pipe” when I would try remote debug the app, after successfully deploying via WinCE development without Active Sync on Win 7 as previously mentioned.

The application would also silently refuse to run when launched from WinCE explorer or the command shell.

I created a new default application, and it remote deployed and ran. So I knew there was something special with my application.

I tweaked lots of things that had zero impact, but in the end adding Wininet.lib and calling InternetOpen caused my test app to also not run. If I included the library as a depenacy but didn’t call InternetOpen the application runs fine, if I call InternetOpen it fails.

I suspect Wininet.dll is not present of the development WinCE 6 OS I have, and therefore the failure to load the .dll is pulling the executable down.

Email sent off to OS team, so I’m back onto a different project…

[Update: A few hours later…] Yip, wininet.dll has been removed.

WinCE development without Active Sync on Win 7

At the start of the year I was given a device to do trial Windows CE development against. I was also given a zip file with the SDK and some instructions.

Step 1: Install Active Sync 4.5 on your Windows XP machine (this will not work on Vista or Win 7)

So my Win 7 lappy is shafted. Luckily some work colleagues had been doing WinCE development ‘differently’ on an earlier product, and they mentioned using ‘CMaccept.exe’.

Search for ‘CMaccept.exe’ leads you to the advice you want: How to: Connect to Windows CE Device Without ActiveSync

Luckily for me my device has working Ethernet, so this worked nicely.

I mention this because today another engineer asked me how I got Active Sync working on the device, as he’s having problems under XP, thus I suggested the above method.

Interface Builder does not save Xib file on Build

After 30-50 minutes of rage and starting the project over, I learned the hard way that just because Interface Builder is part of the Xcode suite, it has no clue when Xcode is building. Thus does not save the .xib file, and thus why I had no UI widgets turning up in the simulator.

I watched a demo video so many times over and over, checking every step is done, and it’s the one he does with the keyboard short-cut, and doesn’t mention, saving. ARGGGG!

TrackPopupMenu in WinCE 5.0

After banging my head against the MSDN documentation* for a few days, it turns out that TrackPopupMenu and TrackPopupMenuEx (in CE 5.0 the former maps to the latter) are not in Menu.lib as per the documentation but in Coredll.lib.

Also causing problems was the macro redefining TrackPopupMenu to TrackPopupMenuEx was not working due to I believe Afx.h, so I just manually swapped to using the Ex function.

*MSDN url: ms-help://MS.WINCE.v50.en/wceshellui5/html/wce50lrfTrackPopupMenu.htm