<?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>Florian Mücke im Netz</title>
	<atom:link href="http://flo.mueckeimnetz.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://flo.mueckeimnetz.de</link>
	<description>Willkommen in meiner verrückten Welt!</description>
	<lastBuildDate>Sat, 24 Sep 2011 09:01:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Was spricht gegen Exceptions in C++?</title>
		<link>http://flo.mueckeimnetz.de/2011/09/247/</link>
		<comments>http://flo.mueckeimnetz.de/2011/09/247/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 08:39:30 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Exception Safety]]></category>
		<category><![CDATA[Exceptions]]></category>

		<guid isPermaLink="false">http://flo.mueckeimnetz.de/?p=247</guid>
		<description><![CDATA[Obwohl es Exceptions im C++ Standard schon etliche Jahre gibt, werden diese in größeren Projekten oft nicht eingesetzt. Im folgenden Artikel möchte ich das Für und Wider erörtern und mit gängigen Vorurteilen aufräumen. try &#123; funktion&#40;&#41;; ... &#125; catch &#40;const std::invalid_argument&#38; e&#41; &#123; std::cerr &#60;&#60; &#34;Falsches Argument:&#34; &#60;&#60; e.what&#40;&#41; &#60;&#60; std::endl; &#125; catch &#40;const std::range_error&#38; [...]]]></description>
			<content:encoded><![CDATA[<p>Obwohl es Exceptions im C++ Standard schon etliche Jahre gibt, werden diese in größeren Projekten oft nicht eingesetzt. Im folgenden Artikel möchte ich das Für und Wider erörtern und mit gängigen Vorurteilen aufräumen.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">try</span> <span style="color: #008000;">&#123;</span>
    funktion<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
   ...
<span style="color: #008000;">&#125;</span> <span style="color: #0000ff;">catch</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> std<span style="color: #008080;">::</span><span style="color: #007788;">invalid_argument</span><span style="color: #000040;">&amp;</span> e<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    std<span style="color: #008080;">::</span><span style="color: #0000dd;">cerr</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Falsches Argument:&quot;</span>  <span style="color: #000080;">&lt;&lt;</span> e.<span style="color: #007788;">what</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">&lt;&lt;</span> std<span style="color: #008080;">::</span><span style="color: #007788;">endl</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> <span style="color: #0000ff;">catch</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> std<span style="color: #008080;">::</span><span style="color: #007788;">range_error</span><span style="color: #000040;">&amp;</span> e<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    std<span style="color: #008080;">::</span><span style="color: #0000dd;">cerr</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Ungültiger Bereich:&quot;</span> <span style="color: #000080;">&lt;&lt;</span> e.<span style="color: #007788;">what</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">&lt;&lt;</span> std<span style="color: #008080;">::</span><span style="color: #007788;">endl</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> <span style="color: #0000ff;">catch</span> <span style="color: #008000;">&#40;</span>...<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    std<span style="color: #008080;">::</span><span style="color: #0000dd;">cerr</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Sonstiger Fehler&quot;</span> <span style="color: #000080;">&lt;&lt;</span> std<span style="color: #008080;">::</span><span style="color: #007788;">endl</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<h3>Gängige Vorurteile</h3>
<ol>
<li><strong><em>Die Behandlung von Ausnahmen ist codeintensiver (mehr Schreibarbeit)<br />
</em></strong>Falsch. Ein sinnvolles <tt>try/catch</tt> braucht ist sogar weniger Code als ein sinnvolles <tt>if/else if/else</tt>für alle möglichen Fehlercodes. Fehlercodes werden aber oft nicht vollständig überprüft oder gar ganz weggelassen, was der Qualität des Codes nicht gerade zuträglich ist. Exceptions dagegen zwingen zu einer durchdachten Fehlerbehandlung.</li>
<li><strong><em>Exceptions machen den Code langsam<br />
</em></strong>Falsch. Wenn Exceptions richtig eingesetzt werden, sollten sie für Ausnahmen im Programmablauf verwendet werden. Die Ausführungsgeschwindigkeit des &#8220;Gut&#8221;-Pfades (in dem keine Ausnahmen geworfen werden) leidet nicht darunter. Wenn also die Exception die Ausnahme und nicht die Regel ist, hat man nichts zu befürchten.<span id="more-247"></span></li>
<li><strong><em>Das Resourcen-Handling ist bei Excptions aufwändiger<br />
</em></strong>Falsch. Wenn RAII (Resource Acquisition Is Initialization) korrekt verwendet wird, muss man sich sogar weniger Sorgen um Aufräumarbeiten machen, als unter Java und C# &#8211; der Destruktor räumt die Objekte ohne Weiteres Zutun brav auf.</li>
<li><strong><em>Exception blähen das Binary auf<br />
</em></strong>Leider wahr. Nichts ist umsonst. Der Ausführungscode ist tatsächlich etwas größer. Dies sollte in heutiger Zeit aber kein ausschlaggebendes Argument mehr sein &#8211; selbst für Embedded-Programmierung.</li>
</ol>
<h3>Vorteile von Exceptions</h3>
<ul>
<li>Fehler können genau da behandelt werden, wo es Sinn macht</li>
<li>Exceptions müssen behandelt werden</li>
<li>Mehrdeutigkeiten werden vermieden (RetCode=3 mag in einem Fall OK, in anderem ein bestimmter Fehler sein)</li>
<li>Es können Fehler-Objekte anstatt simplen Zahlen verwendet werden</li>
</ul>
<h3>Caveat Exception Safety</h3>
<p>Das Behandeln von Ausnahmen beim Erstellen von Objekten, also im Konstruktor, ist mit Vorsicht zu genießen, da in diesem Fall das Objekt noch nicht vollständig erzeugtist und der Destruktor es daher auch nicht aufräumen</p>
<p>kann. Es entstehen Memory-Leaks. Das Werfen von Ausnahmen im Konstruktor ist daher generell keine gute Idee.<br />
Die Objekterzeugung <em>Exception Safe</em> zu machen, ist nicht ganz trivial, vor allem dann nicht, wenn sie erhalten bleiben soll, wenn die Klasse irgendwann erweitert wird. Daher kann eine einfache Möglichkeit sein, alles im Konstruktor zu unterlassen, was zu einer Ausnahme führen kann, die nicht abgefangen werden kann.<br />
Im Allgemeinen wird zwischen verschiedenen Stufen von <em>Exception Safety </em>unterschieden (siehe <a href="http://en.wikipedia.org/wiki/Exception_handling#Exception_safety">Wikipedia</a>):</p>
<ul>
<li>No exception safety</li>
<li>Minimal exception safety (no-leak guarantee)</li>
<li>Basic exception safety</li>
<li>Commit or rollback semantics (strong exception safety/no-change guarantee)</li>
<li>Failure transparency (throw guarantee)</li>
</ul>
<h3>Gründe gegen Exceptions</h3>
<ul>
<li>Konsistenz: Es macht wenig Sinn, wenn eine bestimmte Methode einer Bibliothek Ausnahmen wirft, wenn dies im Rest der Bibliothek nicht der Fall ist. Dies würde die Verwendbarkeit einschränken. Qt verwendet aus diesem historischen Grund z.B. nur in neueren Bibliotheken Exceptions.</li>
<li>Unwissenheit: Wer sich mit der Behandlung von Ausnahmen nicht auskennt, sollte lieber erst mit Beispielen üben, bevor Exceptions an vorderster Front eingesetzt werden.</li>
</ul>
<h3>Fazit</h3>
<p>Insgesamt führt Exceptions im Allgemeinen zu einer besseren Codequalität, da man das Fehlerhandling gezielter und duchdachter gestaltet. Aus heutiger Sicht gibt es meiner Meinung nach kaum haltbare Argumente, Exceptions nicht zu verwenden.</p>
<h3>Quellen</h3>
<ul>
<li><em><a href="http://www.gotw.ca/publications/c++cs.htm">C++ Coding Standards</a></em>, Herb Sutter und Andrei Alexandrescu</li>
<li><a href="http://www.parashift.com/c++-faq-lite/exceptions.html">http://www.parashift.com/c++-faq-lite/exceptions.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://flo.mueckeimnetz.de/2011/09/247/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dateiversion auslesen</title>
		<link>http://flo.mueckeimnetz.de/2011/09/dateiversion-auslesen/</link>
		<comments>http://flo.mueckeimnetz.de/2011/09/dateiversion-auslesen/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 05:53:23 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Win32]]></category>

		<guid isPermaLink="false">http://flo.mueckeimnetz.de/?p=52</guid>
		<description><![CDATA[#pragma comment( lib, &#34;version&#34; ) struct FileVersion &#123; DWORD dwLeftMost; DWORD dwSecondLeft; DWORD dwSecondRight; DWORD dwRightMost; bool IsLower&#40; const FileVersion&#38;amp; ver &#41; &#123; return dwLeftMost &#38;lt; ver.dwLeftMost ? true : dwSecondLeft &#38;lt; ver.dwSecondLeft ? true : dwSecondRight &#38;lt; ver.dwSecondRight ? true : dwRightMost &#38;lt; ver.dwRightMost ? true : false; &#125; &#125;; &#160; static void GetFileVersion&#40; [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#pragma comment( lib, &quot;version&quot; )</span>
<span style="color: #0000ff;">struct</span> FileVersion
<span style="color: #008000;">&#123;</span>
	DWORD dwLeftMost<span style="color: #008080;">;</span>
	DWORD dwSecondLeft<span style="color: #008080;">;</span>
	DWORD dwSecondRight<span style="color: #008080;">;</span>
	DWORD dwRightMost<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">bool</span> IsLower<span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">const</span> FileVersion<span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span> ver <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">return</span> dwLeftMost <span style="color: #000040;">&amp;</span>lt<span style="color: #008080;">;</span> ver.<span style="color: #007788;">dwLeftMost</span> <span style="color: #008080;">?</span> <span style="color: #0000ff;">true</span> <span style="color: #008080;">:</span>
			dwSecondLeft <span style="color: #000040;">&amp;</span>lt<span style="color: #008080;">;</span> ver.<span style="color: #007788;">dwSecondLeft</span> <span style="color: #008080;">?</span> <span style="color: #0000ff;">true</span> <span style="color: #008080;">:</span>
			dwSecondRight <span style="color: #000040;">&amp;</span>lt<span style="color: #008080;">;</span> ver.<span style="color: #007788;">dwSecondRight</span> <span style="color: #008080;">?</span> <span style="color: #0000ff;">true</span> <span style="color: #008080;">:</span>
			dwRightMost <span style="color: #000040;">&amp;</span>lt<span style="color: #008080;">;</span> ver.<span style="color: #007788;">dwRightMost</span> <span style="color: #008080;">?</span> <span style="color: #0000ff;">true</span> <span style="color: #008080;">:</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> GetFileVersion<span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">const</span> CString<span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span> fileNameWithPath, FileVersion<span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span> fileVersion <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	DWORD dwDummy<span style="color: #008080;">;</span>
	DWORD dwFVISize <span style="color: #000080;">=</span> GetFileVersionInfoSize<span style="color: #008000;">&#40;</span> fileNameWithPath , <span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span>dwDummy <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	LPBYTE lpVersionInfo <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> BYTE<span style="color: #008000;">&#91;</span>dwFVISize<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #008080;">::</span><span style="color: #007788;">GetFileVersionInfo</span><span style="color: #008000;">&#40;</span> fileNameWithPath , <span style="color: #0000dd;">0</span> , dwFVISize , lpVersionInfo <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	UINT uLen<span style="color: #008080;">;</span>
	VS_FIXEDFILEINFO<span style="color: #000040;">*</span> lpFfi<span style="color: #008080;">;</span>
	<span style="color: #008080;">::</span><span style="color: #007788;">VerQueryValue</span><span style="color: #008000;">&#40;</span> lpVersionInfo , _T<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #008000;">&#41;</span> , <span style="color: #008000;">&#40;</span>LPVOID <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span>lpFfi , <span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span>uLen <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	DWORD dwFileVersionMS <span style="color: #000080;">=</span> lpFfi<span style="color: #000040;">-</span><span style="color: #000040;">&amp;</span>gt<span style="color: #008080;">;</span>dwFileVersionMS<span style="color: #008080;">;</span>
	DWORD dwFileVersionLS <span style="color: #000080;">=</span> lpFfi<span style="color: #000040;">-</span><span style="color: #000040;">&amp;</span>gt<span style="color: #008080;">;</span>dwFileVersionLS<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">delete</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> lpVersionInfo<span style="color: #008080;">;</span>
	fileVersion.<span style="color: #007788;">dwLeftMost</span> <span style="color: #000080;">=</span> HIWORD<span style="color: #008000;">&#40;</span>dwFileVersionMS<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	fileVersion.<span style="color: #007788;">dwSecondLeft</span> <span style="color: #000080;">=</span> LOWORD<span style="color: #008000;">&#40;</span>dwFileVersionMS<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	fileVersion.<span style="color: #007788;">dwSecondRight</span> <span style="color: #000080;">=</span> HIWORD<span style="color: #008000;">&#40;</span>dwFileVersionLS<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	fileVersion.<span style="color: #007788;">dwRightMost</span> <span style="color: #000080;">=</span> LOWORD<span style="color: #008000;">&#40;</span>dwFileVersionLS<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://flo.mueckeimnetz.de/2011/09/dateiversion-auslesen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stativtest: Bilora gegen Cullmann gegen Vanguard</title>
		<link>http://flo.mueckeimnetz.de/2011/08/stativtest-bilora-gegen-cullmann-gegen-vanguard/</link>
		<comments>http://flo.mueckeimnetz.de/2011/08/stativtest-bilora-gegen-cullmann-gegen-vanguard/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 20:48:33 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Fotographie]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Bilora]]></category>
		<category><![CDATA[Cullmann]]></category>
		<category><![CDATA[Kamerazubehör]]></category>
		<category><![CDATA[Stativ]]></category>
		<category><![CDATA[Stativkopf]]></category>
		<category><![CDATA[Vanguard]]></category>

		<guid isPermaLink="false">http://flo.mueckeimnetz.de/?p=231</guid>
		<description><![CDATA[Da ich mein jetziges Stativ damals einfach für den Camcorder gekauft hatte und es jetzt meinen wachsenden Ansprüchen für die Fotographie nicht mehr genügt, habe ich mir (nach Lektüre diverser Tests) zwei potentielle Nachfolger mit Kugelköpfen zum Vergleich bestellt: Stativ Bilora Twister Pro Stativ Cullmann Magnesit 525 Kopf Cullmann Magnesit MB4.3 bzw. MB4.1+SK-Einheit MX445 (einzeln wars günstiger) Kopf [...]]]></description>
			<content:encoded><![CDATA[<p>Da ich mein jetziges Stativ damals einfach für den Camcorder gekauft hatte und es jetzt meinen wachsenden Ansprüchen für die Fotographie nicht mehr genügt, habe ich mir (nach Lektüre diverser Tests) zwei potentielle Nachfolger mit Kugelköpfen zum Vergleich bestellt:</p>
<ul>
<li>Stativ <em><a href="http://www.bilora.de/index.php?area=1&amp;p=static&amp;page=twister01">Bilora Twister Pro</a></em></li>
<li>Stativ <em><a href="http://www.cullmann.de/detail/id/magnesit-525/">Cullmann Magnesit 525</a></em></li>
<li>Kopf <em><a href="http://www.cullmann.de/detail/id/magnesit-mb-kugelkoepfe-1/">Cullmann Magnesit MB4.3</a> bzw. MB4.1+SK-Einheit MX445</em> (einzeln wars günstiger)</li>
<li>Kopf<em> <a href="http://www.vanguardworld.de/index.php/pv/produkte/detail-1-4-23-144.html">Vanguard SBH-100</a></em></li>
</ul>
<div>
<p><span id="more-231"></span></p>
<h2>Überblick</h2>
<table>
<tbody>
<tr>
<th rowspan="2">X</th>
<th rowspan="2">Bilora Twister Pro</th>
<th colspan="2">Cullmann Magnesit 525</th>
</tr>
<tr>
<th>MB 4.3</th>
<th>SBH-100</th>
</tr>
<tr>
<td><strong>Gewicht</strong></td>
<td> 1,7 kg</td>
<td> 1,8 kg + 0,48 kg</td>
<td> 1,8 kg + 0,45 kg</td>
</tr>
<tr>
<td><strong><strong>Belastbarkeit</strong></strong></td>
<td> 6 kg</td>
<td> 6 kg (14 kg)</td>
<td> 6kg (10 kg)</td>
</tr>
<tr>
<td><strong>Höhe</strong> (ohne Kopf)</td>
<td>11 &#8211; 157 cm</td>
<td style="text-align: center;" colspan="2">18 &#8211; 156 cm</td>
</tr>
<tr>
<td><strong>Packmaß</strong></td>
<td> 44 cm</td>
<td> 59 cm + 10 cm</td>
<td> 59 cm + 10 cm</td>
</tr>
<tr>
<td><strong>Preis</strong></td>
<td> 150 €</td>
<td>170 € (65€ +105€)</td>
<td>140€ (65€ + 75€)</td>
</tr>
</tbody>
</table>
<h3>Bilora Twister Pro <em>- Stativ mit Stativkopf</em></h3>
<table>
<tbody>
<tr>
<th>Vorteile</th>
<th>Nachteile</th>
</tr>
<tr>
<td width="50%">
<ul>
<li>extrem kompaktes Packmaß (43cm)</li>
<li>Kugelkopf ist bereits dabei</li>
<li>enthaltenes Zubehör: Action-Pod, Packtasche, Gürteltasche zum Stabilisieren</li>
<li>sehr leichtgängier Aufbau</li>
<li>geringers Absacken bei langen Telebrennweiten beim Feststelllen (da Kopf kleiner)</li>
<li>Eineinstativ inklusive</li>
<li>Schnellwechseleinheit</li>
<li>Mittelsäule lässt sich einfach auseinanderschrauben (für Makroaufnahmen)</li>
</ul>
</td>
<td>
<ul>
<li>keine Spikes für den Outdoor-Einsatz</li>
<li>keine Wasserwage im Stativrumpf</li>
<li>Wasserwagen im Kopf sind eigentlich nur im Hochformat sinnvoll nutzbar</li>
<li>Zusammenbau Einbeinstativ umständlich (mag man nicht so oft machen)</li>
<li>keine Friktionseinstellung</li>
<li>Winkel der Stativbeine teilweise etwas leicht zu verstellen (verstellt sich gerne)</li>
</ul>
</td>
</tr>
<tr>
<th colspan="2">Fazit</th>
</tr>
<tr>
<td colspan="2">
<ul>
<li>gutes, <strong>kompaktes</strong> Stativ, mit leichtgängiger Kugelkopf</li>
<li>überraschende Stabilität, trotz der vergleichbar dünneren Beine im Vegleich zum Cullmann</li>
<li>Schwächen bei der Wasserwage</li>
<li>Umbau zum Einbein etwas umständlich (aber dafür ist eins dabei)</li>
</ul>
</td>
</tr>
</tbody>
</table>
<h3>Cullmann Magnesit 525 &#8211; <em>nur Stativ</em></h3>
<table>
<tbody>
<tr>
<th>Vorteile</th>
<th>Nachteile</th>
</tr>
<tr>
<td width="50%">
<ul>
<li>macht einen sehr soliden Eindruck (Gefühl von mehr Stabilität)</li>
<li>Spikes in den Füßen zum Herausdrehen</li>
<li>Wasserwage im Stativrumpf</li>
<li>sauber verarbeitet (bis auf einen  schief montierten Gummifuß)</li>
</ul>
</td>
<td>
<ul>
<li>Winkel der Stativbeine teilweise etwas schwehr zu verstellen (das Aufstellen ist etwas mühsamer)</li>
<li>großes Packmaß von knapp 60 cm (ohne Stativkopf und kurze Mittelsäule für Makroaufnahmen)</li>
</ul>
</td>
</tr>
<tr>
<th colspan="2">Fazit</th>
</tr>
<tr>
<td colspan="2">
<ul>
<li>im Vergleich zum Bilora schon fast klobiges abger grundsolides Stativ</li>
</ul>
</td>
</tr>
</tbody>
</table>
<h3>Cullmann MB 4.3 (MB 4.1 + <em>SK-Einheit MX445) &#8211; Stativkopf</em></h3>
<table>
<tbody>
<tr>
<th>Vorteile</th>
<th>Nachteile</th>
</tr>
<tr>
<td width="50%">
<ul>
<li>tolle Verarbeitung und Design</li>
<li>Friktionseinstellung</li>
<li>gute Wasserwagen in Kopf</li>
<li>bis 14 kg belastbar</li>
</ul>
</td>
<td>
<ul>
<li>Die Schnellwechseleinheit ist etwas hakelig</li>
<li>Schraube der Schnellwechseleinheit muss mit Münze angezogen weden, der Bügel ist lächerlich</li>
<li>(Verarbeitung: Kugel hat bereits nach wenigen Versuchen kleine Kratzer)</li>
<li>etwas teurer</li>
</ul>
</td>
</tr>
<tr>
<th colspan="2">Fazit</th>
</tr>
<tr>
<td colspan="2">
<ul>
<li>augenscheinlich sehr gut verarbeiteter Kugelkopf in tollem Design</li>
<li>Friktionseinstellung</li>
<li>Schnellwechselsystem ist etwas hakelig</li>
<li>guten, funktionale Wasserwagen</li>
</ul>
</td>
</tr>
</tbody>
</table>
<h3>Vanguard SBH-100<em> - Stativkopf</em></h3>
<table>
<tbody>
<tr>
<th>Vorteile</th>
<th>Nachteile</th>
</tr>
<tr>
<td width="50%">
<ul>
<li>hochwertige Verarbeitung</li>
<li>gute Schnellwecheleinheit (mit zweiter Platte)</li>
<li>gute Wasserwagen</li>
<li>bis 10 kg belastbar</li>
<li>Top Preis-Leistung</li>
</ul>
</td>
<td>
<ul>
<li>keine Friktionseinstellung</li>
<li>Kopf ist etwas breiter als der von Cullmann</li>
<li>Schraube der Schnellwechseleinheit muss mit Münze angezogen weden (Bügel gibt es gar nicht &#8211; eigentlich ein Pluspunt <img src='http://flo.mueckeimnetz.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</li>
</ul>
</td>
</tr>
<tr>
<th colspan="2">Fazit</th>
</tr>
<tr>
<td colspan="2">
<ul>
<li>sehr gut verarbeiteter Kugelkopf</li>
<li>keine Friktionseinstellung (für ca. 20 € mehr gibt es den großen Bruder <a href="http://www.vanguardworld.com/index.php/en/pv/products/detail-1-4-23-145.html">SBH-250</a>, der kann das)</li>
<li>tolles Schnellwechselsystem mit Zweitplatte</li>
<li>die besten Wasserwagen im Test</li>
</ul>
</td>
</tr>
</tbody>
</table>
<h3></h3>
<h3>Mein Fazit</h3>
<p>Ich habe mich für das Bilora Twister Pro entschieden, und weil es einfach kompakter ist und weil es, trotz erstem Eindruck, sich im Bezug auf die Stabilität nicht hinter dem Cullmann verstecken muss. Ob das auch so bleibt muss man sehen. Der Kugelkopf des Bilora hat, abgesehen von den Wasserwagen, auch überzeugt. Solange ich als Amateuer noch keine dickere Ausrüstung benötige werde ich mit diesem Stativ sehr zufrieden sein. Das Cullmann Magnesit 525 und der passende Kugelkopf MB 4.3 hat aber dennoch einen bleibenden soliden Eindruck bei mir hinterlassen, genauso wie der SBH-100 von Vanguard &#8211; es muss ja nicht immer ein Kopf vom gleichen Hersteller sein. Diese Marken werde ich mir in Zukunft sicherlich auch wieder ansehen und weiter beobachten.</p>
<h3>Allgemeine Tipps beim Stativeinsatz</h3>
<ul>
<li>Die Schraube an der Schnellwechselplatte sollte unbedingt gut angezogen werden &#8211; am besten mit einem Münzstück. Mit den vorhandenen Bügelchen schafft man es nicht ausrechend fest. Dies hat dann zur Folge, dass sich die Kamera im Hochformat löst (aufdreht) &#8230;</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://flo.mueckeimnetz.de/2011/08/stativtest-bilora-gegen-cullmann-gegen-vanguard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kein Blitz bei Serienaufnahme</title>
		<link>http://flo.mueckeimnetz.de/2011/08/kein-blitz-bei-serienaufnahme/</link>
		<comments>http://flo.mueckeimnetz.de/2011/08/kein-blitz-bei-serienaufnahme/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 19:14:28 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Fotographie]]></category>
		<category><![CDATA[Blitzen]]></category>
		<category><![CDATA[D90]]></category>
		<category><![CDATA[Metz]]></category>
		<category><![CDATA[Serienbilder]]></category>

		<guid isPermaLink="false">http://flo.mueckeimnetz.de/?p=226</guid>
		<description><![CDATA[Ich hatte das Problem, dass bei Serienaufnahmen immer wieder Bilder dabei waren, bei denen der Blitz nicht ausgelöst hatte. Ich habe mich mit folgenem Text an den Metz-Kundendiesnt gewandt (und prompt auch Antwort erhalten): Hallo, leider bekomme ich bei Serienaufnahmen mit meiner Nikon D90 und dem Mecablitz 50 AF-1 immer wieder dunkle Bilder in der [...]]]></description>
			<content:encoded><![CDATA[<p>Ich hatte das Problem, dass bei Serienaufnahmen immer wieder Bilder dabei waren, bei denen der Blitz nicht ausgelöst hatte.</p>
<p>Ich habe mich mit folgenem Text an den Metz-Kundendiesnt gewandt (und prompt auch Antwort erhalten):<span id="more-226"></span></p>
<blockquote><p>Hallo,<br />
leider bekomme ich bei Serienaufnahmen mit meiner Nikon D90 und dem Mecablitz 50 AF-1 immer wieder dunkle Bilder in der Serie. D.h. von 4 Bildern ist oftmals eines ohne Blitz.<br />
Woran könnte dies liegen? Sieht für mich nach einem Timing-Problem aus, so dass es dann in einigen Fällen der Serie nicht klappt.<br />
Die Firmware ist bei beiden Geräten auf dem aktuellsten Stand. Als Objektiv wurde stets das 18-105er Standard verwendet (Typ E).<br />
Dieses Problem habe ich leider auch schon in diversen Foren und in Amazon-Bewertungen gefunden.<br />
Vielleicht können Sie mir da weiterhelfen. Gerne helfe ich Ihnen beim Reproduzieren des Fehlers.</p></blockquote>
<p>Kurz drauf bekam ich diese ausfühliche Antwot vom <em><a title="Metz" href="http://www.metz.de/de/foto-elektronik/">Metz</a>:</em></p>
<blockquote><p>Sehr geehrter Herr Mücke,</p>
<p>Ihre E-Mail-Anfrage haben wir dankend erhalten.</p>
<p>Grundsätzlich ist bei Serienaufnahmen mit Blitzlicht zu beachten, dass diese im Regelfall nur im manuellen Blitzbetrieb mit manuellen Teillichtleistungsstufen durchgeführt werden können. Nur mit entsprechenden Teillichtleistungsstufen kann auch eine feste Blitzfolgezeit eingehalten werden. Dies ist notwendig damit das Blitzgerät bei jeder Kameraauslösung auch blitzbereit ist. Zudem werden im manuellen Teillichtleistungsbetrieb auch keine Vorblitze vom Blitzgerät abgegeben.</p>
<p>Wird dagegen ein Blitzgerät, wie z. B. der mecablitz 50 AF-1 digital für Nikon, in Verbindung mit der Digital-Kamera Nikon D90 im i-TTL-Blitzbetrieb eingesetzt, so muss das Blitzgerät in diesem Fall einen oder zwei Vorblitze abgeben. Aufgrund dieser Vorblitze ermittelt dann die Kamera die notwendige Blitzlichtmenge für die spätere Aufnahme. In dieser Betriebsart kann es daher vorkommen, dass das Blitzgerät nach Abgabe einer größeren Lichtmenge nicht mehr blitzbereit ist bzw. nicht sofort wieder blitzbereit ist.</p>
<p>Wird nun die Kamera aufgrund der Serienaufnahmefunktion sofort wieder ausgelöst, so wird das Blitzgerät nicht mitblitzen und die Aufnahme ist dunkel. Aus diesem Grund ist die Verwendung des i-TTL-Blitzbetriebes in Verbindung mit Serienaufnahmen nicht in jedem Fall empfehlenswert.</p>
<p align="left">Mit freundlichen Grüßen</p>
<p>i.A. XXXXX<br />
Kundendienst Technik/Sachbearbeiter</p></blockquote>
<p align="left"><big>Da sag ich nur <em>Hut ab!</em> vor so einem Support!</big></p>
]]></content:encoded>
			<wfw:commentRss>http://flo.mueckeimnetz.de/2011/08/kein-blitz-bei-serienaufnahme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hochzeitsbilder und Videos sind online</title>
		<link>http://flo.mueckeimnetz.de/2010/09/hochzeitsbilder-und-videos-sind-online/</link>
		<comments>http://flo.mueckeimnetz.de/2010/09/hochzeitsbilder-und-videos-sind-online/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 22:36:51 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Hochzeit]]></category>

		<guid isPermaLink="false">http://flo.mueckeimnetz.de/?p=203</guid>
		<description><![CDATA[[simage=69,160,n,left,]Die Bilder von unserer Hochzeit am 22. Mai 2010 sind jetzt auf dieser Seite verfügbar. Darunter die Bilder vom Foto-Shooting im Botanischen Garten, die Bilder vom vor dem Standesamt in Friedberg und die Bilder der Trauungsfeier in Stadtbergen. Auch haben wir es uns nicht nehmen lassen, etwas bewegtes Bildmaterial von der Hochzeit mit einzubringen. Hier [...]]]></description>
			<content:encoded><![CDATA[<p>[simage=69,160,n,left,]Die Bilder von unserer Hochzeit am 22. Mai 2010 sind jetzt auf dieser Seite verfügbar. Darunter die Bilder vom Foto-Shooting im Botanischen Garten, die Bilder vom vor dem Standesamt in Friedberg und die Bilder der Trauungsfeier in Stadtbergen. Auch haben wir es uns nicht nehmen lassen, etwas bewegtes Bildmaterial von der Hochzeit mit einzubringen.</p>
<p><a href="http://flo.mueckeimnetz.de/hochzeit">Hier geht&#8217;s zu den Bildern&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flo.mueckeimnetz.de/2010/09/hochzeitsbilder-und-videos-sind-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;P ≠ NP&#8221; gelöst</title>
		<link>http://flo.mueckeimnetz.de/2010/08/p-%e2%89%a0-np-gelost/</link>
		<comments>http://flo.mueckeimnetz.de/2010/08/p-%e2%89%a0-np-gelost/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 22:09:07 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Nice2Know]]></category>
		<category><![CDATA[Texte/Wissenschaftliches]]></category>
		<category><![CDATA[Komplexität]]></category>
		<category><![CDATA[NP]]></category>
		<category><![CDATA[Traveling Salesman Problem]]></category>
		<category><![CDATA[TSP]]></category>

		<guid isPermaLink="false">http://flo.mueckeimnetz.de/?p=199</guid>
		<description><![CDATA[Es sieht so aus, als wäre eines der wichtigsten noch offenen Rätsel der Informatik gelöst worden. Vinay Deolalikar von den HP Reseach Labs scheint jetzt endlich bewiesen zu haben, dass die Komplexitätsklasse P ungleich der Komplexitätsklase NP ist. Die Lösung dieses Millennium-Problems ist mit 1 Million Dollar dotiert und behandelt im wesentlichen die Fragestellung &#8220;Wenn [...]]]></description>
			<content:encoded><![CDATA[<p>Es sieht so aus, als wäre eines der wichtigsten noch offenen Rätsel der Informatik gelöst worden. <a href="http://www.hpl.hp.com/personal/Vinay_Deolalikar/">Vinay Deolalikar</a> von den HP Reseach Labs scheint jetzt endlich bewiesen zu haben, dass die Komplexitätsklasse <em>P</em> ungleich der Komplexitätsklase <em>NP</em> ist. Die Lösung dieses <a href="http://www.claymath.org/millennium/">Millennium-Problems</a> ist mit 1 Million Dollar dotiert und behandelt im wesentlichen die Fragestellung &#8220;Wenn es für ein Problem einen einfachen Weg gibt, eine Lösung zu verifizieren, gibt es dann auch eine einfache Lösung?&#8221;. Mit P ≠ NP ist jetzt endlich der Beweis für die bislang allgemeine Annahme, dass dies nicht so ist, erbracht.</p>
<p>Ein Beispiel für ein solches Problem ist das Problem des Handlungsreisenden <em>(Traveling Salesman Problem)</em>, bei dem es darum geht, eine bestimmte Anzahl von Städten so zu besuchen, dass ein möglichst kurzer Weg zurückgelegt wird, jedoch keine Stadt mehrmals besucht wird.</p>
<p><strong>Weiterführende Links:</strong></p>
<ul>
<li><a href="http://gregbaker.ca/blog/2010/08/07/p-n-np/">P ≠ NP (Greg and Kat&#8217;s blog)</a></li>
<li><a href="http://de.wikipedia.org/wiki/P-NP-Problem">de.wikipedia.org/wiki/P-NP-Problem</a></li>
<li><a href="http://en.wikipedia.org/wiki/P_versus_NP_problem">en.wikipedia.org/wiki/P_versus_NP_problem</a></li>
<li><a href="http://de.wikipedia.org/wiki/Problem_des_Handlungsreisenden">de.wikipedia.org/wiki/Problem_des_Handlungsreisenden</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://flo.mueckeimnetz.de/2010/08/p-%e2%89%a0-np-gelost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guter Sangria</title>
		<link>http://flo.mueckeimnetz.de/2010/06/guter-sangria/</link>
		<comments>http://flo.mueckeimnetz.de/2010/06/guter-sangria/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 11:00:07 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Nice2Know]]></category>
		<category><![CDATA[Rezept]]></category>
		<category><![CDATA[Sangria]]></category>

		<guid isPermaLink="false">http://flo.mueckeimnetz.de/?p=170</guid>
		<description><![CDATA[Auf unserer Hochzeitsreise haben wir in einem schönen Lokal am Hafen Sangría zum Essen getrunken &#8211; und der war ganz anders als ich bisher Sangría kannte &#8211; um längen besser. Es war waren nur Zitronenscheiben und Orangenscheiben und jede Menge Eiswürfel und Zucker darin. Einfach wahnsinnig erfrischend. Ein Rezept das diesem nahe kommt ist hier [...]]]></description>
			<content:encoded><![CDATA[<p>Auf unserer Hochzeitsreise haben wir in einem schönen Lokal am Hafen Sangría zum Essen getrunken &#8211; und der war ganz anders als ich bisher Sangría kannte &#8211; um längen besser.</p>
<p>Es war waren nur Zitronenscheiben und Orangenscheiben und jede Menge Eiswürfel und Zucker darin. Einfach wahnsinnig erfrischend.</p>
<p>Ein Rezept das diesem nahe kommt ist hier zu finden: <a href="http://www.netzwissen.com/getraenke/sangria.php">Alles über Sangria</a></p>
<p>Oder man macht es wie folgt (Catalanische Variante):</p>
<p><strong>Zutaten für vier Personen:</strong></p>
<ul>
<li>1 Flasche spanischer Rotwein (vorzugsweise RIOJA, kann aber auch ein günstigerer sein)</li>
<li>Saft von mindestens zwei Orangen (ca. 100ml)</li>
<li>100ml weißer Rum</li>
<li>1 unbehandelte Zitrone</li>
<li>1 unbehandelte Orange</li>
<li>5 Eßlöffel Zucker</li>
<li>1 Zimtstange</li>
<li>Eiswürfel</li>
</ul>
<p><strong>Zubereitung:</strong></p>
<ol>
<li>Zitrone und Orange unter heißem Wasser abwaschen und dann in (halbe) Scheiben schneiden.</li>
<li>Obststücke, Zucker, Rum und Orangensaft in eine Karaffe oder große Schüssel geben und dann ab damit zum Durchziehen in den Kühlschrank (mind. 1 Stunde).</li>
<li>Dann den Rotwein drüber, die Zimtstange hinein und das ganze umrühren. Die Sangría eine weitere Stunde kalt stellen.</li>
<li>Jetzt kommen noch ordentlich Eiswürfel dazu und die Sangría ist fertig zum servieren (am besten in großen Gläsern).</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://flo.mueckeimnetz.de/2010/06/guter-sangria/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>boost x64 Bibliotheken erzeugen</title>
		<link>http://flo.mueckeimnetz.de/2010/01/boost-x64-bibliotheken-erzeugen/</link>
		<comments>http://flo.mueckeimnetz.de/2010/01/boost-x64-bibliotheken-erzeugen/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 09:12:08 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[lib]]></category>
		<category><![CDATA[serialization]]></category>
		<category><![CDATA[x64]]></category>

		<guid isPermaLink="false">http://flo.mueckeimnetz.de/?p=162</guid>
		<description><![CDATA[Um die x64-Libs von boost zu erzeugen muss man folgendes im boost Verzeichnis aufrufen: bjam --toolset=msvc --address-model=64 --stagedir=stage64 stage Zusätzliche Parameter -jX um das Erstellen mit X Prozessen parallel zu starten --build-type=complete baut alle libs (static, shared, mutithreaded,&#8230;) --with-serialization baut nur die serialization Bibliotheken Serialization weigert sich in 1.36.0 allerdings (in 1.40 gibt&#8217;s dieses Problem [...]]]></description>
			<content:encoded><![CDATA[<p>Um die x64-Libs von boost zu erzeugen muss man folgendes im boost Verzeichnis aufrufen:<br />
<code><br />
bjam --toolset=msvc --address-model=64 --stagedir=stage64 stage<br />
</code><br />
Zusätzliche Parameter</p>
<ul>
<li><code>-jX</code> um das Erstellen mit X Prozessen parallel zu starten</li>
<li><code>--build-type=complete</code> baut alle libs (static, shared, mutithreaded,&#8230;)</li>
<li><code>--with-serialization</code> baut nur die serialization Bibliotheken</li>
</ul>
<p>Serialization weigert sich in 1.36.0 allerdings (in 1.40 gibt&#8217;s dieses Problem nicht mehr). Hierzu ist in der <code>libs/serialization/build/Jamfile.v2</code> folgende Ersetzung vorzunehmen:</p>
<p><code>: requirements <dependency>../../config/test/all//BOOST_NO_STD_LOCALE</code></p>
<p>in</p>
<p><code>: requirements </code> </p>
<p>sowie<br />
<code><dependency>../../config/test/all//BOOST_NO_STD_WSTREAMBUF</code> am Ende der Datei auskommentieren (&#8216;#&#8217;).</p>
<p><strong>bjam</strong> gibt&#8217;s hier: <a href="http://www.boost.org/users/download/">http://www.boost.org/users/download/</a></p>
<p>Danach sollten ein paar libs in stage64/lib liegen.</p>
]]></content:encoded>
			<wfw:commentRss>http://flo.mueckeimnetz.de/2010/01/boost-x64-bibliotheken-erzeugen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>boost::serialization und QString</title>
		<link>http://flo.mueckeimnetz.de/2010/01/boostserialization-und-qstring/</link>
		<comments>http://flo.mueckeimnetz.de/2010/01/boostserialization-und-qstring/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 21:18:07 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[CString]]></category>
		<category><![CDATA[MFC]]></category>
		<category><![CDATA[QString]]></category>
		<category><![CDATA[serialization]]></category>

		<guid isPermaLink="false">http://flo.mueckeimnetz.de/?p=156</guid>
		<description><![CDATA[Ok, ich wollte nur mal eben bei meinem Projekt eine Klasse in ein XML dumpen und wieder einlesen. Hab ich ja mit boost::serialization schon öfter gemacht. Leider hab ich die Klasse aber unter Qt entworfen und daher Basistypen wie QString verwendet. Dieser hat sich allerdings zunächst geweigert&#8230; Mit folgendem Code gings dann ganz leicht. Einziger [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, ich wollte nur mal eben bei meinem <a href="http://ipponboard.origo.ethz.ch">Projekt</a> eine Klasse in ein XML dumpen und wieder einlesen. Hab ich ja mit <code>boost::serialization</code> schon öfter gemacht. Leider hab ich die Klasse aber unter Qt entworfen und daher Basistypen wie <code>QString</code> verwendet. Dieser hat sich allerdings zunächst geweigert&#8230;<br />
<span id="more-156"></span></p>
<p>Mit folgendem Code gings dann ganz leicht. Einziger Nachteil: es wird immer ein zusätzlicher &lt;value&gt;-Tag eingefügt.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">// \file qstring_serialization.h</span>
<span style="color: #666666;">//  Enables serialization of Qt QString</span>
<span style="color: #666666;">//</span>
<span style="color: #666666;">//  Copyright (c) 2010 Florian Muecke. Distributed under the Boost</span>
<span style="color: #666666;">//  Software License, Version 1.0. (See accompanying file</span>
<span style="color: #666666;">//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
&nbsp;
<span style="color: #339900;">#ifndef QSTRING_SERIALIZATION_H</span>
<span style="color: #339900;">#define QSTRING_SERIALIZATION_H</span>
&nbsp;
<span style="color: #339900;">#include &lt;QString&gt;</span>
<span style="color: #339900;">#include &lt;string&gt;</span>
<span style="color: #339900;">#include &lt;boost/archive/xml_iarchive.hpp&gt;</span>
<span style="color: #339900;">#include &lt;boost/archive/xml_oarchive.hpp&gt;</span>
<span style="color: #339900;">#include &lt;boost/serialization/string.hpp&gt;</span>
&nbsp;
<span style="color: #0000ff;">namespace</span> boost <span style="color: #008000;">&#123;</span>
<span style="color: #0000ff;">namespace</span> serialization <span style="color: #008000;">&#123;</span>
&nbsp;
&nbsp;
<span style="color: #0000ff;">template</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">class</span> Archive<span style="color: #000080;">&gt;</span>
<span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">void</span> save<span style="color: #008000;">&#40;</span> Archive<span style="color: #000040;">&amp;</span> ar, <span style="color: #0000ff;">const</span> QString<span style="color: #000040;">&amp;</span> s, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">int</span> <span style="color: #ff0000; font-style: italic;">/*version*/</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">using</span> boost<span style="color: #008080;">::</span><span style="color: #007788;">serialization</span><span style="color: #008080;">::</span><span style="color: #007788;">make_nvp</span><span style="color: #008080;">;</span>
	ar <span style="color: #000080;">&lt;&lt;</span> make_nvp<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;value&quot;</span>, s.<span style="color: #007788;">toStdString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">template</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">class</span> Archive<span style="color: #000080;">&gt;</span>
<span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">void</span> load<span style="color: #008000;">&#40;</span> Archive<span style="color: #000040;">&amp;</span> ar, QString<span style="color: #000040;">&amp;</span> s, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">int</span> <span style="color: #ff0000; font-style: italic;">/*version*/</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">using</span> boost<span style="color: #008080;">::</span><span style="color: #007788;">serialization</span><span style="color: #008080;">::</span><span style="color: #007788;">make_nvp</span><span style="color: #008080;">;</span>
&nbsp;
	std<span style="color: #008080;">::</span><span style="color: #007788;">string</span> stdStr<span style="color: #008080;">;</span>
	ar <span style="color: #000080;">&gt;&gt;</span> make_nvp<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;value&quot;</span>, stdStr<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	s <span style="color: #000080;">=</span> QString<span style="color: #008080;">::</span><span style="color: #007788;">fromStdString</span><span style="color: #008000;">&#40;</span>stdStr<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">template</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">class</span> Archive<span style="color: #000080;">&gt;</span>
<span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">void</span> serialize<span style="color: #008000;">&#40;</span> Archive<span style="color: #000040;">&amp;</span> ar, QString<span style="color: #000040;">&amp;</span> s, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">int</span> file_version <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	boost<span style="color: #008080;">::</span><span style="color: #007788;">serialization</span><span style="color: #008080;">::</span><span style="color: #007788;">split_free</span><span style="color: #008000;">&#40;</span>ar, s, file_version<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #008000;">&#125;</span> <span style="color: #666666;">// namespace serialization</span>
<span style="color: #008000;">&#125;</span> <span style="color: #666666;">// namespace boost</span>
&nbsp;
<span style="color: #339900;">#endif // QSTRING_SERIALIZATION_H</span></pre></div></div>

<p>Analog kann man das Ganze natürlich auch für <code>CString</code> in der <code>MFC</code> machen&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://flo.mueckeimnetz.de/2010/01/boostserialization-und-qstring/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Service Fehler 6A00 bei Canon PIXMA iP4500</title>
		<link>http://flo.mueckeimnetz.de/2009/11/service-fehler-6a00-bei-canon-pixma-ip4500/</link>
		<comments>http://flo.mueckeimnetz.de/2009/11/service-fehler-6a00-bei-canon-pixma-ip4500/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 06:53:01 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Nice2Know]]></category>
		<category><![CDATA[Canon]]></category>
		<category><![CDATA[Drucker]]></category>
		<category><![CDATA[iP4500]]></category>
		<category><![CDATA[Service Fehler 6A00]]></category>

		<guid isPermaLink="false">http://flo.mueckeimnetz.de/?p=151</guid>
		<description><![CDATA[Gestern hat mein Drucker einfach den Dienst mit der Meldung Service Fehler 6A00 quittiert. Man kennt das ja, man muss gleich weg und will nur schnell noch was ausdrucken&#8230; Die Meldung besagte weiterhin, man solle den Drucker aus und dann wieder einschalten. Und falls das nichts bringen sollte, solle man das Handbuch zu Rate ziehen. [...]]]></description>
			<content:encoded><![CDATA[<p>Gestern hat mein Drucker einfach den Dienst mit der Meldung <em>Service Fehler 6A00</em> quittiert. Man kennt das ja, man muss gleich weg und will nur schnell noch was ausdrucken&#8230;<span id="more-151"></span></p>
<p>Die Meldung besagte weiterhin, man solle den Drucker aus und dann wieder einschalten. Und falls das nichts bringen sollte, solle man das Handbuch zu Rate ziehen. Und wenn das nichts hilft natürlich den Drucker einschicken.</p>
<p>Das dies nichts gebracht hat muss ich an dieser Stelle wohl nicht näher ausführen. Google sei dank habe ich aber dann doch noch eine Lösung gefunden. Anscheinend hat sich was beim Papiereinzug verklemmt.</p>
<blockquote><p><strong>Reperaturanweisung</strong></p>
<ul>
<li> Wenn der Fehler auftritt lässt sich der Druckkopf frei auf den Stangen bewegen.</li>
<li>Wichtig: <span style="color: red;">Netzstecker raus!</span></li>
<li>Vordere obere und CD-Druckklappe öffnen.</li>
<li>Druckkopf ganz nach links schieben.</li>
<li>Rechts in den Drucker schauen und dort ein weißes Plastikteil mit den ca. 3mm hohen Kunstoffnippel ganz nach unten drücken bis es klickt.</li>
<li>Druckkopf wieder nach rechts schieben und Druckerklappen schließen.</li>
<li>Gerät wieder anschließen und einschalten.</li>
</ul>
</blockquote>
<p>Nach dem Einschalten und vor dem ersten Druckvorgang hat der Drucker sich dann lediglich eine Weile gereinigt und irgendwie neu positioniert. Danach ging er wieder einwandfrei.</p>
]]></content:encoded>
			<wfw:commentRss>http://flo.mueckeimnetz.de/2009/11/service-fehler-6a00-bei-canon-pixma-ip4500/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>

