<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Martin&#039;s Blog &#187; Programmieren</title>
	<atom:link href="http://blog.m-ri.de/index.php/category/programmieren/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.m-ri.de</link>
	<description>Gesammeltes aus dem Leben eines &#34;normalen&#34; Programmierers... :-)</description>
	<lastBuildDate>Sat, 04 Feb 2012 12:07:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Manchmal der letzte Retter in der Not: VA-X und die interne Historie</title>
		<link>http://blog.m-ri.de/index.php/2012/01/27/manchmal-der-letzte-retter-in-der-not-va-x-und-die-interne-historie/</link>
		<comments>http://blog.m-ri.de/index.php/2012/01/27/manchmal-der-letzte-retter-in-der-not-va-x-und-die-interne-historie/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 19:17:56 +0000</pubDate>
		<dc:creator>Martin Richter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[VA-X]]></category>
		<category><![CDATA[VS-2010]]></category>

		<guid isPermaLink="false">http://blog.m-ri.de/?p=934</guid>
		<description><![CDATA[So geht es manchmal: Da arbeitet man 4, 8, 12 oder 16 Stunden an einem Modul. Alles sieht gut aus, nicht mehr lange und wir können einchecken. Du änderst noch dies und das, steckst noch mal 2 Stunden Arbeit rein weil noch was optimiert werden soll und auf einmal merkst Du dass Du Dich verrannt hast. [...]]]></description>
			<content:encoded><![CDATA[<p>So geht es manchmal:</p>
<ul>
<li>Da arbeitet man 4, 8, 12 oder 16 Stunden an einem Modul.</li>
<li>Alles sieht gut aus, nicht mehr lange und wir können einchecken.</li>
<li>Du änderst noch dies und das, steckst noch mal 2 Stunden Arbeit rein weil noch was optimiert werden soll und auf einmal merkst Du dass Du Dich verrannt hast. Die letzten 2 Stunden Arbeit hattest Du irgendwie das Gehirn nicht eingeschaltet, x-Änderungen gemacht, die nun alle Sch&#8230;sind.</li>
<li>Undo ist nicht mehr, weil Du schon andere Projekte offen hattest bzw. einmal VS abgeraucht ist.</li>
<li>Du hast Bockmist gebaut und jetzt willst Du auf den Stand von vor 4 Stunden zurück, oder den von gestern Abend.</li>
<li>Ein Shelveset hast Du im TFS nicht angelegt. Das machst Du nur wenn Du ins Wochenende gehst, oder Deinen Kollegen was weiterreichen musst.</li>
</ul>
<p>Was nun? <img src='http://blog.m-ri.de/wp-includes/images/smilies/icon_surprised.gif' alt=':eek:' class='wp-smiley' /> </p>
<p>Als <em><strong>VA-X </strong></em>Benutzer (VisualAssist X <a href="http://www.wholetomato.com">http://www.wholetomato.com</a>) hat man tatsächlich noch ein Backup!<br />
Und zwar nicht nur eines, sondern ein paar.<br />
In meinem History Ordner von VA-X<br />
<em>C:\Users\USER\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\Whole Tomato Software\Visual Assist X\VERSION\Data\vs10\history\</em><br />
werde ich fündig&#8230;</p>
<p><a href="http://blog.m-ri.de/wp-content/uploads/2012/01/vax-history.png"><img class="wp-image-937 alignnone" title="vax-history" src="http://blog.m-ri.de/wp-content/uploads/2012/01/vax-history.png" alt="" width="584" height="187" /></a></p>
<p>Ufff&#8230; <img src='http://blog.m-ri.de/wp-includes/images/smilies/icon_mrgreen.gif' alt=':mrgreen:' class='wp-smiley' /> </p>
<p>Ich habe dieses Backup mittlerweile schon so oft verwendet, dass ich dazu übergangen bin diesen Ordner umzulegen an eine Stelle an die ich schneller dran komme. Das geht über den Registry Schlüssel <em>HKCU\Software\Whole Tomato\UserDataDir</em>.</p>
<p>Wer mehr dazu wissen will findet hier weitere Infos:<br />
<a href="http://www.wholetomato.com/forum/topic.asp?TOPIC_ID=6865">http://www.wholetomato.com/forum/topic.asp?TOPIC_ID=6865</a></p>
<p><strong>Nachtrag (30.01.2012):</strong><br />
Damit diese Funktion auch verfügbar ist muss im <em>VA-X</em> die <em>Auto Recovery</em> Option eingeschaltet sein.<br />
<em>VA-X -&gt; Options -&gt; Performance -&gt; Enable Auto Recovery</em></p>
<hr /><small>Copyright &copy; 2010 Martin Richter<br />Dieser Feed ist nur für den persönlichen, nicht gewerblichen Gebrauch bestimmt. Eine Verwendung dieses Feeds bzw. der hier veröffentlichten Beiträge auf anderen Webseiten bedarf der ausdrücklichen Genehmigung des Autors.<br />(Digital Fingerprint: bdafe67664ea5aacaab71f8c0a581adf)</small>]]></content:encoded>
			<wfw:commentRss>http://blog.m-ri.de/index.php/2012/01/27/manchmal-der-letzte-retter-in-der-not-va-x-und-die-interne-historie/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2010 komplett entfernen bzw. die Unmöglichkeit es richtig zu tun</title>
		<link>http://blog.m-ri.de/index.php/2012/01/18/visual-studio-2010-komplett-entfernen-bzw-die-unmoglichkeit-es-richtig-zu-tun/</link>
		<comments>http://blog.m-ri.de/index.php/2012/01/18/visual-studio-2010-komplett-entfernen-bzw-die-unmoglichkeit-es-richtig-zu-tun/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 19:25:35 +0000</pubDate>
		<dc:creator>Martin Richter</dc:creator>
				<category><![CDATA[Installation]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[VS 2010]]></category>
		<category><![CDATA[Uninstall]]></category>
		<category><![CDATA[VS-2010]]></category>
		<category><![CDATA[VS-Tipps&Tricks]]></category>

		<guid isPermaLink="false">http://blog.m-ri.de/?p=928</guid>
		<description><![CDATA[Immer wieder mal lese ich von Problemen bei der Installation oder mit Installationen von VS-2010. Ich hatte den Fall noch nie, aber es gibt scheinbar immer wieder Installationen in denen der Wurm drin ist. VS-2010 installiert eine Unmenge an Komponenten und Programmteilen. Die meisten können einfach deinstalliert/gelöscht werden. Aber es bleiben immer noch ein Haufen DLLs/ActiveX Controls und [...]]]></description>
			<content:encoded><![CDATA[<p>Immer wieder mal lese ich von Problemen bei der Installation oder mit Installationen von <em>VS-2010</em>. Ich hatte den Fall noch nie, aber es gibt scheinbar immer wieder Installationen in denen der Wurm drin ist.</p>
<p><em>VS-2010</em> installiert eine Unmenge an Komponenten und Programmteilen. Die meisten können einfach deinstalliert/gelöscht werden. Aber es bleiben immer noch ein Haufen DLLs/ActiveX Controls und Registry Einträge und Verweise auf Verzeichnisse. Und leider gibt es für die Visual Studio 2010 keinen <em>richtigen</em> Uninstaller, der auch alle Artefakte löscht und deshalb kann ich gleich zu Anfang sagen, dass man außer der Deinstallation wirklich wenig tun kann.<br />
Eine Reparaturinstallation sollte man aber bei einer bestehenden Installation in jedem Fall einmal, bevor man zu härteren Maßnahmen greift. Die wirkt oft schon Wunder.</p>
<p>Im Netz gibt es das folgende Utility: <em><strong>Visual Studio 2010 Uninstall Utility</strong></em>:<br />
<a href="http://archive.msdn.microsoft.com/vs2010uninstall">http://archive.msdn.microsoft.com/vs2010uninstall</a><br />
Das Tool hat drei Operationsweisen die man in dem obigen Link erklärt findet.<br />
Das Tool funktioniert eigentlich ohne Probleme aber benutzt auch nur auf dem MSI Uninstall Prozess auf, und dabei berücksichtigt es nicht einmal Servicepacks. Sollte man also das <em>SP1</em> von <em>Visual Studio 2010</em> installiert haben, dann muss man dieses vorher selber entfernen.</p>
<p>Das dieses Tool macht aber auch nur die Arbeit halb. Das erkennt man mit einem schnellen Blick in Registry. Der Ast <em>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0</em> wird durch die Deinstallation nicht entfernt und man muß in diesem Fall manuell Hand anlegen.</p>
<p>Wenn man also persistente Probleme mit der <em>VS-2010</em> Installation hat, die man nicht über die Setup-Logs oder mit Tipps aus den Foren lösen kann, dann bleibt nach meiner Meinung nur der harte Weg den Rechner neu aufzusetzen. Bisher bin ich davon verschont geblieben und meine Installation haben immer von Rechnerwechsel zu Rechnerwechsel gehalten.</p>
<hr /><small>Copyright &copy; 2010 Martin Richter<br />Dieser Feed ist nur für den persönlichen, nicht gewerblichen Gebrauch bestimmt. Eine Verwendung dieses Feeds bzw. der hier veröffentlichten Beiträge auf anderen Webseiten bedarf der ausdrücklichen Genehmigung des Autors.<br />(Digital Fingerprint: bdafe67664ea5aacaab71f8c0a581adf)</small>]]></content:encoded>
			<wfw:commentRss>http://blog.m-ri.de/index.php/2012/01/18/visual-studio-2010-komplett-entfernen-bzw-die-unmoglichkeit-es-richtig-zu-tun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>4 Termine für Microsoft C++ Infoday 2012</title>
		<link>http://blog.m-ri.de/index.php/2012/01/12/4-termine-fur-microsoft-c-infoday-2012/</link>
		<comments>http://blog.m-ri.de/index.php/2012/01/12/4-termine-fur-microsoft-c-infoday-2012/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 16:56:27 +0000</pubDate>
		<dc:creator>Martin Richter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[VS 2010]]></category>
		<category><![CDATA[C++11]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[VS-2010]]></category>

		<guid isPermaLink="false">http://blog.m-ri.de/?p=932</guid>
		<description><![CDATA[Wer letztes Jahr im Oktober keine Zeit hatte zum C++ Info Day nach München zu kommen, kann dies nun nachholen. In etwa ähnliche Themen werden an vier verschiedenen Terminen und Standorten von Microsoft kostenlos angeboten: Die Themen: C++ 11: Modernes C++ im 21. Jahrhundert Parallel-Power in Visual Studio 11: Konzepte und Tools Application Lifecycle Management für [...]]]></description>
			<content:encoded><![CDATA[<p>Wer letztes Jahr im Oktober keine Zeit hatte zum <em>C++ Info Day</em> nach München zu kommen, kann dies nun nachholen.</p>
<p>In etwa ähnliche Themen werden an vier verschiedenen Terminen und Standorten von Microsoft kostenlos angeboten:</p>
<p><strong>Die Themen:</strong></p>
<ul>
<li><strong><em>C++ 11: Modernes C++ im 21. Jahrhundert</em></strong></li>
<li><strong><em>Parallel-Power in Visual Studio 11: Konzepte und Tools</em></strong></li>
<li><strong><em>Application Lifecycle Management für C++: Die nächste Generation</em></strong></li>
</ul>
<p><strong>Die Termine:</strong></p>
<ul>
<li><strong><a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502632&amp;Culture=de-DE">02.02.2012 14:00-18:00 Berlin</a></strong></li>
<li><strong><a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502635&amp;Culture=de-DE">07.02.2012 14:00-18:00 Bad Homburg</a></strong></li>
<li><strong><a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502637&amp;Culture=de-DE">13.02.2012 14:00-18:00 Karlsruhe</a></strong></li>
<li><strong><a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502646&amp;Culture=de-DE">05.03.2012 14:00-18:00 Köln</a></strong></li>
</ul>
<p>Ich werde 07.02. in Bad Homburg vor Ort sein um ein wenig Networking zu betreiben.<br />
Da es aktuell eigentlich keine C/C++ Community im Netz gibt sehe ich hier die einzige wirklich gute Möglichkeit mit anderen C/C++ Entwicklern ins Gespräch zu kommen.</p>
<hr /><small>Copyright &copy; 2010 Martin Richter<br />Dieser Feed ist nur für den persönlichen, nicht gewerblichen Gebrauch bestimmt. Eine Verwendung dieses Feeds bzw. der hier veröffentlichten Beiträge auf anderen Webseiten bedarf der ausdrücklichen Genehmigung des Autors.<br />(Digital Fingerprint: bdafe67664ea5aacaab71f8c0a581adf)</small>]]></content:encoded>
			<wfw:commentRss>http://blog.m-ri.de/index.php/2012/01/12/4-termine-fur-microsoft-c-infoday-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Die Tücke mit temporären Objekten und Konvertierungs-Operatoren</title>
		<link>http://blog.m-ri.de/index.php/2011/12/05/die-tucke-mit-temporaren-objekten-und-konvertierungs-operatoren/</link>
		<comments>http://blog.m-ri.de/index.php/2011/12/05/die-tucke-mit-temporaren-objekten-und-konvertierungs-operatoren/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 21:52:42 +0000</pubDate>
		<dc:creator>Martin Richter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Qualitätssicherung]]></category>

		<guid isPermaLink="false">http://blog.m-ri.de/?p=596</guid>
		<description><![CDATA[Wieder mal ein Beispiel für einen versteckten Bug. Nachfolgender Code sieht ganz unscheinbar aus, aber er birgt eine Falle mit sich, die in der Implementierung der Klasse verborgen ist: void CImageButton::OnSysColorChange&#40;&#41; &#123; // Farbe hat geändert CButton::OnSysColorChange&#40;&#41;; // Bitmap neu laden LoadBitmap&#40;m_strResource.IsEmpty&#40;&#41; ? m_lpszResource : m_strResource&#41;; &#125; LoadBitmap ist eine Funktion, die die Bitmap neu [...]]]></description>
			<content:encoded><![CDATA[<p>Wieder mal ein Beispiel für einen versteckten Bug.<br />
Nachfolgender Code sieht ganz unscheinbar aus, aber er birgt eine Falle mit sich, die in der Implementierung der Klasse verborgen ist:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">void</span> CImageButton<span style="color: #008080;">::</span><span style="color: #007788;">OnSysColorChange</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
   <span style="color: #666666;">// Farbe hat geändert</span>
   CButton<span style="color: #008080;">::</span><span style="color: #007788;">OnSysColorChange</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
   <span style="color: #666666;">// Bitmap neu laden</span>
   LoadBitmap<span style="color: #008000;">&#40;</span>m_strResource.<span style="color: #007788;">IsEmpty</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008080;">?</span> m_lpszResource <span style="color: #008080;">:</span> m_strResource<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p><em>LoadBitmap</em> ist eine Funktion, die die Bitmap neu lädt und entsprechend der eingestellten Systemfarben einige Farben aktualisiet. Also das bekannte Verhalten von Toolbars. <em>LoadBitmap</em> nimmt einen LPCTSTR und damit kann die <em>CImageButton</em> Klasse entweder mit einem Ressource String arbeiten (der evtl. mit MAKEINTRESOURCE eine ID ist und kein echter Zeiger), oder eben einem Namen zu einer Bitmap Ressource.</p>
<p>Damit bei einem Wechsel der Systemfarben, die Bitmap neu laden werden kann, merkt es sich die Resource.  In der Funktion findet hier eine Konvertierung des alten <em>CString</em> Wertes in einen <em>LPCTSTR</em> statt, mit dem eingebauten Konvertierungs-Operator.</p>
<p>Das Problem in der Implentierung dieser Klasse war aber, dass <em>LoadBitmap</em> sich den neuen Ressourcennamen merken soll aber zuvor eine interne <em>Clear</em> Funktion aufruft, die die bestehende Bitmap und andere Klassendaten freigibt, bevor <em>m_strResource</em> oder <em>m_lpszResource</em>, neu gesetzt werden:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">void</span> CImageButton<span style="color: #008080;">::</span><span style="color: #007788;">Clear</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
  ...
  <span style="color: #666666;">// Clear old infos</span>
  m_lpszResource <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
  m_strResource.<span style="color: #007788;">Empty</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  ...
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">bool</span> CImageButton<span style="color: #008080;">::</span><span style="color: #007788;">LoadBitmap</span><span style="color: #008000;">&#40;</span>LPCTSTR pszResource<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
   Clear<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
...
   <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ISINTRESOURCE<span style="color: #008000;">&#40;</span>pszResource<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
...
   <span style="color: #0000ff;">else</span>
   <span style="color: #008000;">&#123;</span>
       m_strResource <span style="color: #000080;">=</span> pszResource<span style="color: #008080;">;</span>
...
   <span style="color: #008000;">&#125;</span>
...
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Das führt aber nun zu folgendem Problem: <em>Clear</em> löscht <em>m_strResource</em> und damit wird der übergebene Zeiger an <em>LoadBitmap</em> ungültig, mit der Folge, dass die ürsprüngliche Bitmap nicht mehr gefunden wird, wenn in der Zwischenzeit der Heap auf dem dieser String lag neu verwendet wurde. In der Release Version trat dieser Fehler selten auf. In der Debug Version war der Fehler sofort nachvollziehbar, denn hier wird der Heap bei der Freigabe auf einen einhaltlichen Wert zurückgesetzt.</p>
<p>Die Lösung ist einfach: Es ist nötig den alten Inhalt zu kopieren um einen gültigen Zeiger zu behalten.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">void</span> CImageButton<span style="color: #008080;">::</span><span style="color: #007788;">OnSysColorChange</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
  <span style="color: #666666;">// System colors changed</span>
  CButton<span style="color: #008080;">::</span><span style="color: #007788;">OnSysColorChange</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  <span style="color: #666666;">// We need to protect the resource name, because LoadItem calls</span>
  <span style="color: #666666;">// Clear and this might empty m_sResource. And this causes</span>
  <span style="color: #666666;">// the string object on the stack to get deleted and the pointer</span>
  <span style="color: #666666;">// points into nowhere land. So we use a copy of the string here.</span>
  CString strRessource<span style="color: #008000;">&#40;</span>m_strResource<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  LoadBitmap<span style="color: #008000;">&#40;</span>strRessource.<span style="color: #007788;">IsEmpty</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008080;">?</span> m_lpszResource <span style="color: #008080;">:</span> strRessource<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<hr /><small>Copyright &copy; 2010 Martin Richter<br />Dieser Feed ist nur für den persönlichen, nicht gewerblichen Gebrauch bestimmt. Eine Verwendung dieses Feeds bzw. der hier veröffentlichten Beiträge auf anderen Webseiten bedarf der ausdrücklichen Genehmigung des Autors.<br />(Digital Fingerprint: bdafe67664ea5aacaab71f8c0a581adf)</small>]]></content:encoded>
			<wfw:commentRss>http://blog.m-ri.de/index.php/2011/12/05/die-tucke-mit-temporaren-objekten-und-konvertierungs-operatoren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VS-Tipps &amp; Tricks: Debugger Pseudo Variablen</title>
		<link>http://blog.m-ri.de/index.php/2011/11/26/vs-tipps-tricks-debugger-pseudo-variablen/</link>
		<comments>http://blog.m-ri.de/index.php/2011/11/26/vs-tipps-tricks-debugger-pseudo-variablen/#comments</comments>
		<pubDate>Sat, 26 Nov 2011 18:28:55 +0000</pubDate>
		<dc:creator>Martin Richter</dc:creator>
				<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[VS 2008]]></category>
		<category><![CDATA[VS 2010]]></category>
		<category><![CDATA[VS-Tipps&Tricks]]></category>
		<category><![CDATA[Debuggen]]></category>
		<category><![CDATA[VC-2008]]></category>
		<category><![CDATA[VC-2010]]></category>

		<guid isPermaLink="false">http://blog.m-ri.de/?p=851</guid>
		<description><![CDATA[Die folgenden Variablen helfen mir immer wieder beim Debuggen und zeigen einem während des Debuggens in Watch-Window manch nützliche Information: $TID Die Thread ID des aktuellen Threads. Nützlich wenn man mehrere Threads debuggt und bestimmte Threads bei einem Breakpoint identifizieren muss. $HANDLES Die Anzahl der aktuell benutzen System-Handles des Prozesses. Handle Leaks lassen sich damit [...]]]></description>
			<content:encoded><![CDATA[<p>Die folgenden Variablen helfen mir immer wieder beim Debuggen und zeigen einem während des Debuggens in Watch-Window manch nützliche Information:</p>
<ul>
<li><strong><em>$TID<br />
</em></strong>Die Thread ID des aktuellen Threads. Nützlich wenn man mehrere Threads debuggt und bestimmte Threads bei einem Breakpoint identifizieren muss.</li>
<li><em><strong>$HANDLES</strong></em><br />
Die Anzahl der aktuell benutzen System-Handles des Prozesses. Handle Leaks lassen sich damit im Debugger leicht überwachen.</li>
<li><em><strong>$ERR<br />
</strong>GetLastError</em> leicht gemacht. Schlägt ein WinApi Befehl fehl, dann ist es schön das man sofort beim Debuggen im Watch-Window sehen kann was die Ursache war. Oft genug ist ja im Code selbst kein Aufruf von <em>GetLastError</em> vorhanden oder nötig.</li>
</ul>
<p>Siehe auch MSDN:<br />
<a href="http://msdn.microsoft.com/en-us/library/ms164891.aspx">http://msdn.microsoft.com/en-us/library/ms164891.aspx</a></p>
<p>BTW: <em>WinDbg</em> hat noch einige mehr nette Pseudovariablen:<br />
<a href="http://blogs.msdn.com/b/debuggingtoolbox/archive/2008/06/16/special-command-using-variables-and-retrieving-information-through-pseudo-registers.aspx">http://blogs.msdn.com/b/debuggingtoolbox/archive/2008/06/16/special-command-using-variables-and-retrieving-information-through-pseudo-registers.aspx</a><br />
Schmerzhaft vermisse ich immer wieder <em>$PEB, $TEB, $TPID, $RA</em> im <em>Visual Studio, </em>komisch, dass es die nur im <em>WinDbg</em> gibt.</p>
<hr /><small>Copyright &copy; 2010 Martin Richter<br />Dieser Feed ist nur für den persönlichen, nicht gewerblichen Gebrauch bestimmt. Eine Verwendung dieses Feeds bzw. der hier veröffentlichten Beiträge auf anderen Webseiten bedarf der ausdrücklichen Genehmigung des Autors.<br />(Digital Fingerprint: bdafe67664ea5aacaab71f8c0a581adf)</small>]]></content:encoded>
			<wfw:commentRss>http://blog.m-ri.de/index.php/2011/11/26/vs-tipps-tricks-debugger-pseudo-variablen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Für was ist der Makro %(PreprocessorDefinitions) gut ?</title>
		<link>http://blog.m-ri.de/index.php/2011/10/16/fur-was-ist-der-makro-preprocessordefinitions-gut/</link>
		<comments>http://blog.m-ri.de/index.php/2011/10/16/fur-was-ist-der-makro-preprocessordefinitions-gut/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 17:54:35 +0000</pubDate>
		<dc:creator>Martin Richter</dc:creator>
				<category><![CDATA[ATL]]></category>
		<category><![CDATA[CRT]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[MFC]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[VS 2008]]></category>
		<category><![CDATA[VS 2010]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Compiler]]></category>
		<category><![CDATA[VS-2008]]></category>
		<category><![CDATA[VS-2010]]></category>

		<guid isPermaLink="false">http://blog.m-ri.de/?p=903</guid>
		<description><![CDATA[In den C++ Compilereinstellungen finden sich ein vorgegebener Makro %(PreprocessorDefinitions) in den C++ Präprozessor Definitionen. Die Verwendung dieses Makros ist nicht ganz offensichtlich. Dieser Makro sollten in jedem Fall nicht entfernt werden, denn Sie dienen der Übernahme einiger Einstellungen aus der General-Seite für die C++ Projekte. Zum Beispiel werden die Einstellungen für Unicode und MBCS über [...]]]></description>
			<content:encoded><![CDATA[<p>In den C++ Compilereinstellungen finden sich ein vorgegebener Makro <em>%(PreprocessorDefinitions)</em> in den C++ Präprozessor Definitionen. Die Verwendung dieses Makros ist nicht ganz offensichtlich.</p>
<p>Dieser Makro sollten in jedem Fall nicht entfernt werden, denn Sie dienen der Übernahme einiger Einstellungen aus der <em>General</em>-Seite für die C++ Projekte. Zum Beispiel werden die Einstellungen für Unicode und MBCS über den Makro <em>%(PreprocessorDefinitions)</em> in die allgemeinen Compiler-Einstellungen übernommen (die entsprechenden Defines sind <em>_UNICODE; UNICODE; _MBCS </em>).<br />
Erzeugt man eine DLL wird zusätzlich <em>_WINDLL</em> gesetzt.<br />
Setzt man ATL Optionen in der General Seite wird auch über die <em>%(PreprocessorDefinitions) _ATLDLL</em> bzw. <em>_ATL_STATIC_REGISTRY</em> gesetzt oder zurückgesetzt.<br />
Gleiches gilt, wenn die <em>MFC</em> als shared DLL verwendet wird. In diesem Fall wird der Define <em>_AFXDLL</em> zusätzlich gesetzt.</p>
<p>Löscht man also <em>%(PreprocessorDefinitions)</em> dann werden alle diese Einstellungen nicht mehr  korrekt übernommen.</p>
<p>Anmerkung:<br />
Bei dem Linker Makro <em>%(AdditionalDependencies) </em>habe ich eine ähnliche Verwendung vermutet, konnte aber keine direkte Beziehung zur Seite General herstellen.</p>
<p>Obwohl es auch hier Einflüsse auf die Linkereinstellungen gibt bei Änderungen in den <em>General</em>-Einstellungen. Werden allerdings die MFC als zusätzliche Bibliothek ausgewählt werden die Standard-LIBs aus dem SDK komplett entfernt. Hier gibt die MFC Bibliothek selbst vor in welchen zusätzlichen Libs, des SDK gesucht werden soll über #pragma comment(lib,..).</p>
<hr /><small>Copyright &copy; 2010 Martin Richter<br />Dieser Feed ist nur für den persönlichen, nicht gewerblichen Gebrauch bestimmt. Eine Verwendung dieses Feeds bzw. der hier veröffentlichten Beiträge auf anderen Webseiten bedarf der ausdrücklichen Genehmigung des Autors.<br />(Digital Fingerprint: bdafe67664ea5aacaab71f8c0a581adf)</small>]]></content:encoded>
			<wfw:commentRss>http://blog.m-ri.de/index.php/2011/10/16/fur-was-ist-der-makro-preprocessordefinitions-gut/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mein 13. Award als deutscher MVP für Visual C++</title>
		<link>http://blog.m-ri.de/index.php/2011/10/11/mein-13-award-als-deutscher-mvp-fur-visual-c/</link>
		<comments>http://blog.m-ri.de/index.php/2011/10/11/mein-13-award-als-deutscher-mvp-fur-visual-c/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 16:38:21 +0000</pubDate>
		<dc:creator>Martin Richter</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://blog.m-ri.de/?p=909</guid>
		<description><![CDATA[Es ist mal wieder Oktober geworden und wie auch in den letzten Jahren erhielt ich folgende Email: Sehr geehrte(r) Martin Richter, herzlichen Glückwunsch! Wir freuen uns, Ihnen den Microsoft® MVP Award 2011 verleihen zu können! Diese Auszeichnung wird an herausragende, führende Mitglieder der technischen Communities verliehen, die ihre wertvollen praktischen Erfahrungen mit anderen Menschen teilen. [...]]]></description>
			<content:encoded><![CDATA[<p>Es ist mal wieder Oktober geworden und wie auch in den letzten Jahren erhielt ich folgende Email:</p>
<blockquote><p>Sehr geehrte(r) Martin Richter,<br />
herzlichen Glückwunsch! Wir freuen uns, Ihnen den Microsoft® MVP Award 2011 verleihen zu können! Diese Auszeichnung wird an herausragende, führende Mitglieder der technischen Communities verliehen, die ihre wertvollen praktischen Erfahrungen mit anderen Menschen teilen. Wir schätzen Ihren außerordentlich bedeutenden Beitrag in den technischen Communities zum Thema Visual C++ im vergangenen Jahr hoch ein.</p></blockquote>
<p>Damit habe ich nun 13 MVP Awards für meine Aktivitäten in den C++ Communities erhalten <img src='http://blog.m-ri.de/wp-includes/images/smilies/icon_exclaim.gif' alt=':!:' class='wp-smiley' /> </p>
<p style="text-align: center;"><a href="http://blog.m-ri.de/wp-content/uploads/2011/10/MVP.jpg"><img class="aligncenter size-full wp-image-910" title="MVP" src="http://blog.m-ri.de/wp-content/uploads/2011/10/MVP.jpg" alt="" width="531" height="398" /></a></p>
<hr /><small>Copyright &copy; 2010 Martin Richter<br />Dieser Feed ist nur für den persönlichen, nicht gewerblichen Gebrauch bestimmt. Eine Verwendung dieses Feeds bzw. der hier veröffentlichten Beiträge auf anderen Webseiten bedarf der ausdrücklichen Genehmigung des Autors.<br />(Digital Fingerprint: bdafe67664ea5aacaab71f8c0a581adf)</small>]]></content:encoded>
			<wfw:commentRss>http://blog.m-ri.de/index.php/2011/10/11/mein-13-award-als-deutscher-mvp-fur-visual-c/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>OLE DB für den SQL Server wird es nur noch bis zur Version mit dem Codenamen &#8220;Denali&#8221;</title>
		<link>http://blog.m-ri.de/index.php/2011/10/09/ole-db-fur-den-sql-server-wird-es-nur-noch-bis-zur-version-mit-dem-codenamen-denali/</link>
		<comments>http://blog.m-ri.de/index.php/2011/10/09/ole-db-fur-den-sql-server-wird-es-nur-noch-bis-zur-version-mit-dem-codenamen-denali/#comments</comments>
		<pubDate>Sun, 09 Oct 2011 17:38:15 +0000</pubDate>
		<dc:creator>Martin Richter</dc:creator>
				<category><![CDATA[ATL]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[MS-SQL. SQL]]></category>

		<guid isPermaLink="false">http://blog.m-ri.de/?p=901</guid>
		<description><![CDATA[Es ist erstaunlich von wie viel Technologie, sich Microsoft aktuell verabschiedet, oder Wege einschlägt, die manchen (zumindest mich) wirklich überraschen. Oder vielleicht überrascht es auch nicht, weil man gerade mit der Unberechenbarkeit der Branche rechnen muss! OLE DB war vor Jahren die Technologie und jedem Entwickler wurde geraten von ODBC auf OLE DB umzusteigen, oder zumindest [...]]]></description>
			<content:encoded><![CDATA[<p>Es ist erstaunlich von wie viel Technologie, sich <em>Microsoft</em> aktuell verabschiedet, oder Wege einschlägt, die manchen (zumindest mich) wirklich überraschen. Oder vielleicht überrascht es auch nicht, weil man gerade mit der Unberechenbarkeit der Branche rechnen muss!</p>
<p><em>OLE DB</em> war vor Jahren die Technologie und jedem Entwickler wurde geraten von <em>ODBC</em> auf <em>OLE DB</em> umzusteigen, oder zumindest bei neuen Projekten <em>OLE DB</em> den Vorzug zu geben. Die höhere Performance und die größere Flexibilität haben bei weitem, die etwas komplexere Technik aufgewogen. Und Dank der guten <em>ATL</em> Client-Klassen war <em>OLE DB</em> auch zu handhaben.</p>
<p>Nun ist Schluß damit! Der nächste SQL-Server mit dem Codenamen <em>Denali</em> wird die letzte Version sein, die <em>OLE DB</em> unterstützen wird, so ist hier zu lesen:<br />
<a href="http://blogs.msdn.com/b/sqlnativeclient/archive/2011/08/29/microsoft-is-aligning-with-odbc-for-native-relational-data-access.aspx?CommentPosted=true#commentmessage">http://blogs.msdn.com/b/sqlnativeclient/archive/2011/08/29/microsoft-is-aligning-with-odbc-for-native-relational-data-access.aspx</a></p>
<p>Liest man die Kommentare aufmerksam, dann scheint es daran zu liegen, dass <em>Microsoft</em> Probleme hat, <em>OLE DB</em> in der <em>Cloud</em> vernünftig zum laufen zu bekommen. Microsoft macht es sich scheinbar einfach und schießt eine ganze Technologie ab, die mal als &#8220;die Technik&#8221; eingeführt wurde.<br />
D.h. eine langsamere Technik wird nun der Standard werden.<br />
Für mich wieder mal eine Entscheidung, die sich mir in keiner Weise erklärt.</p>
<p>Ich verfolge die Diskussion um den <em>MS-SQL</em> Server nicht permanent und so ist mir dieser Artikel erst jetzt untergekommen.</p>
<p>Mehr Infos auch in diesem Thread, der eine kleine FAQ enthält:<br />
<a href="http://social.technet.microsoft.com/Forums/en/sqldataaccess/thread/e696d0ac-f8e2-4b19-8a08-7a357d3d780f">http://social.technet.microsoft.com/Forums/en/sqldataaccess/thread/e696d0ac-f8e2-4b19-8a08-7a357d3d780f</a></p>
<p>Heftig finde ich die Antwort auf Frage 6, die einem auch kaum Hoffnung macht mit einem älteren Client evtl. noch auf den neuen Server zugreifen zu können:</p>
<blockquote><p><strong>Question6:</strong> If I have an OLE DB application that I write for Denali, will it be supported on a post Denali version of SQL Server that is released during the life of Denali?</p>
<p><strong>Answer:</strong> No, in fact we may explicitly block the OLE DB applications on post-Denali versions of SQL Server. It is recommended that you plan your migration soon to ODBC, if you want to start using newer versions of SQL Server as soon as they release.</p></blockquote>
<p>PS: Wie erkläre ich wohl meinen Kunden, die auf einmal 10%-30% langsamere Datenzugriffe haben werden, gerade wenn es größere Datenmengen geht ?  Werden die mir glauben, wenn ich sage: Microsoft will es so?  <img src='http://blog.m-ri.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<hr /><small>Copyright &copy; 2010 Martin Richter<br />Dieser Feed ist nur für den persönlichen, nicht gewerblichen Gebrauch bestimmt. Eine Verwendung dieses Feeds bzw. der hier veröffentlichten Beiträge auf anderen Webseiten bedarf der ausdrücklichen Genehmigung des Autors.<br />(Digital Fingerprint: bdafe67664ea5aacaab71f8c0a581adf)</small>]]></content:encoded>
			<wfw:commentRss>http://blog.m-ri.de/index.php/2011/10/09/ole-db-fur-den-sql-server-wird-es-nur-noch-bis-zur-version-mit-dem-codenamen-denali/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>vNext (VS-2011): Im aktuellen Preview kann man keine Programme mehr für XP entwickeln</title>
		<link>http://blog.m-ri.de/index.php/2011/09/24/vnext-vs-2011-im-aktuellen-preview-kann-man-keine-programme-mehr-fur-xp-entwickeln/</link>
		<comments>http://blog.m-ri.de/index.php/2011/09/24/vnext-vs-2011-im-aktuellen-preview-kann-man-keine-programme-mehr-fur-xp-entwickeln/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 19:29:22 +0000</pubDate>
		<dc:creator>Martin Richter</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[VS 2010]]></category>
		<category><![CDATA[VS 2011]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[vNext]]></category>
		<category><![CDATA[VS-2011]]></category>

		<guid isPermaLink="false">http://blog.m-ri.de/?p=902</guid>
		<description><![CDATA[Es kursiert ja bereits das Windows Developer Preview, also eine virtuelle Maschine mit der man in die nächste Windows 8 und Visual Studio Version hinein schnuppern kann. Mein Mit-MVP Mike Ryan hat nun bei Tests festgestellt, dass die mit der neuen Visual Studio Version erzeugten Programme, die die MFC 11 und CRT 11 benutzen nicht mehr [...]]]></description>
			<content:encoded><![CDATA[<p>Es kursiert ja bereits das <a href="http://msdn.microsoft.com/en-us/windows/apps/br229516">Windows Developer Preview</a>, also eine virtuelle Maschine mit der man in die nächste <em>Windows 8</em> und <em>Visual Studio</em> Version hinein schnuppern kann.</p>
<p>Mein Mit-MVP Mike Ryan hat nun bei Tests festgestellt, dass die mit der neuen Visual Studio Version erzeugten Programme, die die <em>MFC 11</em> und <em>CRT 11</em> benutzen nicht mehr unter <em>Windows XP</em> laufen <img src='http://blog.m-ri.de/wp-includes/images/smilies/icon_exclaim.gif' alt=':!:' class='wp-smiley' />  <img src='http://blog.m-ri.de/wp-includes/images/smilies/icon_surprised.gif' alt=':eek:' class='wp-smiley' />  Aus eigenen Tests kann ich das noch nicht bestätigen.</p>
<p>Das ist mit großer Sicherheit ein Killerkriterium&#8230; zumindest ist es das in unserer Firma.<br />
Mich wundert das, vor allem weil der Support für Windows XP auch noch bis 2014 läuft und wenn man <a href="http://www.techspot.com/news/44902-windows-xp-usage-finally-falls-below-50-mark.html">Statistiken</a> glauben darf, dann ist die Häufigkeit der Verwendung von <em>Windows XP</em> erst seit Juli diesen Jahres unter die 50% Marke gefallen.</p>
<p>Auf Connect wurde ein entsprechende Bug-Report eröffnet, es gibt hier die Möglichkeit mit den eigenen Stimmen für etwas Widerstand zu sorgen:<br />
<a href="https://connect.microsoft.com/VisualStudio/feedback/details/690617">https://connect.microsoft.com/VisualStudio/feedback/details/690617</a><br />
Also bitte gebt Eure Stimme ab!</p>
<p>Da die nächste VS Version vermutlich noch bis Herbst nächsten Jahres auf sich warten lässt kann man nur hoffen, dass sich das ändern wird.</p>
<p><strong>Nachtrag 26.09.2011</strong>: Weitere Details zu den fehlenden Funktionen siehe Kommentare<br />
<strong>Nachtrag 29.09.2011:</strong> Es scheint kein Zufall oder eine vorläufige Beschränkung zu sein. Der Bug wurde mit <em>By Design</em> geschlosen <img src='http://blog.m-ri.de/wp-includes/images/smilies/icon_exclaim.gif' alt=':!:' class='wp-smiley' />  Ich kann dennoch nur raten auf deisem case weiter mit Stimmen abzugeben.</p>
<hr /><small>Copyright &copy; 2010 Martin Richter<br />Dieser Feed ist nur für den persönlichen, nicht gewerblichen Gebrauch bestimmt. Eine Verwendung dieses Feeds bzw. der hier veröffentlichten Beiträge auf anderen Webseiten bedarf der ausdrücklichen Genehmigung des Autors.<br />(Digital Fingerprint: bdafe67664ea5aacaab71f8c0a581adf)</small>]]></content:encoded>
			<wfw:commentRss>http://blog.m-ri.de/index.php/2011/09/24/vnext-vs-2011-im-aktuellen-preview-kann-man-keine-programme-mehr-fur-xp-entwickeln/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Münchner C++ Day zu Visual Studio 2011 am 19.10.2011 mit Sprechern von Microsoft und Intel (kostenlos)</title>
		<link>http://blog.m-ri.de/index.php/2011/09/14/munchner-c-day-zu-visual-studio-2011-am-19-10-2011-mit-sprechern-von-microsoft-und-intel-kostenlos/</link>
		<comments>http://blog.m-ri.de/index.php/2011/09/14/munchner-c-day-zu-visual-studio-2011-am-19-10-2011-mit-sprechern-von-microsoft-und-intel-kostenlos/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 16:50:26 +0000</pubDate>
		<dc:creator>Martin Richter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[VS-2011]]></category>

		<guid isPermaLink="false">http://blog.m-ri.de/?p=898</guid>
		<description><![CDATA[Der C++ Day wird kostenlos von Microsoft am 19.10.2011 veranstaltet. Das Ganze ist eine Nachmittagsveranstaltung mit 4 Sessions von 13:00 bis 18:00 Uhr. Veranstaltungsort ist das MACE Restaurant in München. Die Themen werden sein: Keynote: Visual Studio 11 and Windows – Powering the Next Wave of Innovation Effective C++ Programming with Visual Studio 11 Ultimate Unleash Parallel Performance with C++ in [...]]]></description>
			<content:encoded><![CDATA[<p>Der C++ Day wird kostenlos von <em>Microsoft</em> am 19.10.2011 veranstaltet.<br />
Das Ganze ist eine Nachmittagsveranstaltung mit 4 Sessions von 13:00 bis 18:00 Uhr.</p>
<p>Veranstaltungsort ist das <a href="http://www.mace-restaurant.de/kontakt">MACE Restaurant</a> in München.</p>
<p><strong>Die Themen werden sein:</strong></p>
<ul>
<li><strong>Keynote: Visual Studio 11 and Windows – Powering the Next Wave of Innovation</strong></li>
<li><strong>Effective C++ Programming with Visual Studio 11 Ultimate</strong></li>
<li><strong>Unleash Parallel Performance with C++ in Visual Studio 11 </strong></li>
<li><strong>Graphics &amp; Game development tools in Visual Studio 11</strong></li>
</ul>
<p>&nbsp;</p>
<p><strong>Sprecher sind:</strong></p>
<ul>
<li><strong>Bev Bachmayer </strong>- Senior Software Engineer Software and Solutions Group, Intel GmbH</li>
<li><strong>Jean-Pierre Duplessis </strong>- Architect, Microsoft Visual Studio, Microsoft Corporation</li>
<li><strong>Boris Jabes </strong>- Senior Program Manager, Visual C++ Team, Microsoft Corporation</li>
</ul>
<p>&nbsp;</p>
<p><strong>Achtung: Es gibt nur eine begrenzte Anzahl von 50 Plätzen.</strong></p>
<p>Hier der Link zur Veranstaltung und zum Anmelden:<br />
<a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032493900&amp;Culture=de-DE">https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032493900&amp;Culture=de-DE</a></p>
<p>PS: Ich abe mich soeben angemeldet <img src='http://blog.m-ri.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<hr /><small>Copyright &copy; 2010 Martin Richter<br />Dieser Feed ist nur für den persönlichen, nicht gewerblichen Gebrauch bestimmt. Eine Verwendung dieses Feeds bzw. der hier veröffentlichten Beiträge auf anderen Webseiten bedarf der ausdrücklichen Genehmigung des Autors.<br />(Digital Fingerprint: bdafe67664ea5aacaab71f8c0a581adf)</small>]]></content:encoded>
			<wfw:commentRss>http://blog.m-ri.de/index.php/2011/09/14/munchner-c-day-zu-visual-studio-2011-am-19-10-2011-mit-sprechern-von-microsoft-und-intel-kostenlos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

