<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Variablenmanager ausgang undefiniert ?!]]></title><description><![CDATA[<p>Hallo nochmal, ich beschäftige mich seit heute wieder damit den Variablenmanager von einem anderen Thread von mir einzubauen.<br />
Ich habe parallel zum tatsächlichen Projekt immer kleine projekte in VC2010, wo ich das ganze teste.<br />
Nunja ich habe es getestet und bekomme trotzdem irgendwas anderes in dem hauptprojekt raus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<pre><code class="language-cpp">#ifndef ICONSOLE_H_
#define ICONSOLE_H_

#pragma once

#include &lt;windows.h&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;
#include &lt;map&gt;
#include &quot;IComponent.h&quot;

#include &quot;GlobalDefine.h&quot;

#include &lt;boost/lexical_cast.hpp&gt;
#include &lt;boost/shared_ptr.hpp&gt;

#pragma comment(linker,&quot;/manifestdependency:\&quot;type='win32' name='Microsoft.Windows.Common-Controls' &quot;\
&quot;version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\&quot;&quot;)

LRESULT CALLBACK IConsole_WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);

//-------------------------------------------------------------------------------//

class IVariable {
  public:
	  virtual void printTo(std::string&amp; out) const = 0;
};

template &lt;typename T&gt;
class VariableImpl : public IVariable {
  public:
    explicit VariableImpl(T* managed = NULL) : m_managed(managed) {}
    void setManaged(T* managed) { m_managed = managed; }
    virtual void printTo(std::string&amp; out) const {
	  std::stringstream ss;
	  ss &lt;&lt; *m_managed;
      out = ss.str();
    }
  private:
    T* m_managed;
};

template &lt;typename T&gt;
boost::shared_ptr&lt;IVariable&gt; make_variable(T const&amp; var) {
  return boost::shared_ptr&lt;IVariable&gt;(new VariableImpl&lt;T const&gt; (&amp;var));
}

//--------------------------------------------------------------------------------------//

class IConsole : public IComponent
{
public:

	IConsole(void);
	~IConsole(void);

	void Update();
	IResult Initialize();
	IResult Terminate();

	void Test() { MessageBoxA(0,&quot;Hallo&quot;,0,0); }

	//--------------------------------------------------------//

	 template &lt;typename T&gt;
     void AddItem(std::string name, T const&amp; v) { m_variables[name] = make_variable(v); _listItems++; }

	 //--------------------------------------------------------//

private:

	//-------------Windows---------//
	HWND _consoleWindow;
	HWND _listWindow; 
	MSG msg;
	int _listItems;

	void UpdateList(std::string content);
	void DeleteList(int items);
	//-----------------------------//

	//-----------------------------//
	std::map&lt;std::string, boost::shared_ptr&lt;IVariable&gt; &gt; m_variables;
	//-----------------------------//

	void Create() { MessageBoxA(0,&quot;Created&quot;,0,0);}

};

#endif
</code></pre>
<pre><code class="language-cpp">#include &quot;IConsole.h&quot;

IConsole::IConsole()
{

}

IConsole::~IConsole()
{

}

IResult IConsole::Initialize()
{

	HINSTANCE hinst = GetModuleHandle(NULL);

	WNDCLASS wndclass;

    wndclass.style = CS_HREDRAW | CS_VREDRAW;
    wndclass.lpfnWndProc = IConsole_WndProc;
    wndclass.cbClsExtra = 0;
    wndclass.cbWndExtra = 0;
    wndclass.hInstance = hinst;
    wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
    wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
    wndclass.lpszMenuName = NULL;
    wndclass.lpszClassName = TEXT(&quot;Console&quot;);

    if (!RegisterClass(&amp;wndclass)) {
        return IRESULT_ERROR;
    }

	//------------------------Erstelle Fenster-------------------//

    _consoleWindow = CreateWindow(TEXT(&quot;Console&quot;),
                                  TEXT(&quot;Console&quot;),
                                  WS_OVERLAPPEDWINDOW, 
								  CW_USEDEFAULT,
								  CW_USEDEFAULT,
								  500,
								  400,
								  NULL,
								  NULL,
								  hinst,
								  NULL);

	if(!_consoleWindow)
		return IRESULT_ERROR;

    ShowWindow(_consoleWindow,SW_SHOWNORMAL);
    UpdateWindow(_consoleWindow);

	//------------------------Erstelle Listbox---------------------//
	// Die Größe der Listbox wird an die größe des Konsolenfensters angepasst
	// , da sich dieses nicht in der Größe verändert und eine dynamische
	// Umformung nicht notwendig ist
	//

	 IConsole::_listWindow = CreateWindow(TEXT(&quot;LISTBOX&quot;), 
		                        TEXT(&quot;Console&quot;), 
								WS_CHILD | WS_VISIBLE| WS_BORDER | LBS_DISABLENOSCROLL | WS_VSCROLL   , 
								0, 
								0, 
								484, 
								365,
								_consoleWindow, 
								NULL, 
								hinst, 
								NULL);

	 _listItems = 0;

	return IRESULT_OK;
}

IResult IConsole::Terminate()
{
	return IRESULT_OK;

}

void IConsole::Update()
{
	DeleteList(_listItems);

    for(std::map&lt;std::string, boost::shared_ptr&lt;IVariable&gt; &gt;::const_iterator it = this-&gt;m_variables.begin(); it != this-&gt;m_variables.end(); ++it) {
		std::stringstream ss;
		std::string st;
		it-&gt;second-&gt;printTo(st);
		MessageBoxA(0,st.c_str(),0,0);
		ss &lt;&lt; (it-&gt;first) &lt;&lt; &quot; = &quot; &lt;&lt; st &lt;&lt; std::endl;
		UpdateList(ss.str());
    }

	if(GetMessage(&amp;msg, NULL, 0, 0))
	{
			TranslateMessage(&amp;msg);
			DispatchMessage(&amp;msg);
	}
}

void IConsole::UpdateList(std::string content)
{
	SendMessage(_listWindow, LB_ADDSTRING,0,(LPARAM)content.c_str());
}

void IConsole::DeleteList(int items)
{
	for(int i = items; i &gt; 0; i--)
	{
		SendMessage(_listWindow,LB_DELETESTRING,(WPARAM)i,NULL);
	}
}

LRESULT CALLBACK IConsole_WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
	switch (msg)
	{
	case WM_CREATE:

	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(hwnd, msg, wParam, lParam);
	}
	return 0;

}
</code></pre>
<p>Wäre euch sehr sehr dankbar, wenn jemand den Fehler finden, denn ich seh da keinen.<br />
Danke im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/309579/variablenmanager-ausgang-undefiniert</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 06:14:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/309579.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Oct 2012 17:59:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Variablenmanager ausgang undefiniert ?! on Thu, 25 Oct 2012 17:59:31 GMT]]></title><description><![CDATA[<p>Hallo nochmal, ich beschäftige mich seit heute wieder damit den Variablenmanager von einem anderen Thread von mir einzubauen.<br />
Ich habe parallel zum tatsächlichen Projekt immer kleine projekte in VC2010, wo ich das ganze teste.<br />
Nunja ich habe es getestet und bekomme trotzdem irgendwas anderes in dem hauptprojekt raus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<pre><code class="language-cpp">#ifndef ICONSOLE_H_
#define ICONSOLE_H_

#pragma once

#include &lt;windows.h&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;
#include &lt;map&gt;
#include &quot;IComponent.h&quot;

#include &quot;GlobalDefine.h&quot;

#include &lt;boost/lexical_cast.hpp&gt;
#include &lt;boost/shared_ptr.hpp&gt;

#pragma comment(linker,&quot;/manifestdependency:\&quot;type='win32' name='Microsoft.Windows.Common-Controls' &quot;\
&quot;version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\&quot;&quot;)

LRESULT CALLBACK IConsole_WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);

//-------------------------------------------------------------------------------//

class IVariable {
  public:
	  virtual void printTo(std::string&amp; out) const = 0;
};

template &lt;typename T&gt;
class VariableImpl : public IVariable {
  public:
    explicit VariableImpl(T* managed = NULL) : m_managed(managed) {}
    void setManaged(T* managed) { m_managed = managed; }
    virtual void printTo(std::string&amp; out) const {
	  std::stringstream ss;
	  ss &lt;&lt; *m_managed;
      out = ss.str();
    }
  private:
    T* m_managed;
};

template &lt;typename T&gt;
boost::shared_ptr&lt;IVariable&gt; make_variable(T const&amp; var) {
  return boost::shared_ptr&lt;IVariable&gt;(new VariableImpl&lt;T const&gt; (&amp;var));
}

//--------------------------------------------------------------------------------------//

class IConsole : public IComponent
{
public:

	IConsole(void);
	~IConsole(void);

	void Update();
	IResult Initialize();
	IResult Terminate();

	void Test() { MessageBoxA(0,&quot;Hallo&quot;,0,0); }

	//--------------------------------------------------------//

	 template &lt;typename T&gt;
     void AddItem(std::string name, T const&amp; v) { m_variables[name] = make_variable(v); _listItems++; }

	 //--------------------------------------------------------//

private:

	//-------------Windows---------//
	HWND _consoleWindow;
	HWND _listWindow; 
	MSG msg;
	int _listItems;

	void UpdateList(std::string content);
	void DeleteList(int items);
	//-----------------------------//

	//-----------------------------//
	std::map&lt;std::string, boost::shared_ptr&lt;IVariable&gt; &gt; m_variables;
	//-----------------------------//

	void Create() { MessageBoxA(0,&quot;Created&quot;,0,0);}

};

#endif
</code></pre>
<pre><code class="language-cpp">#include &quot;IConsole.h&quot;

IConsole::IConsole()
{

}

IConsole::~IConsole()
{

}

IResult IConsole::Initialize()
{

	HINSTANCE hinst = GetModuleHandle(NULL);

	WNDCLASS wndclass;

    wndclass.style = CS_HREDRAW | CS_VREDRAW;
    wndclass.lpfnWndProc = IConsole_WndProc;
    wndclass.cbClsExtra = 0;
    wndclass.cbWndExtra = 0;
    wndclass.hInstance = hinst;
    wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
    wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
    wndclass.lpszMenuName = NULL;
    wndclass.lpszClassName = TEXT(&quot;Console&quot;);

    if (!RegisterClass(&amp;wndclass)) {
        return IRESULT_ERROR;
    }

	//------------------------Erstelle Fenster-------------------//

    _consoleWindow = CreateWindow(TEXT(&quot;Console&quot;),
                                  TEXT(&quot;Console&quot;),
                                  WS_OVERLAPPEDWINDOW, 
								  CW_USEDEFAULT,
								  CW_USEDEFAULT,
								  500,
								  400,
								  NULL,
								  NULL,
								  hinst,
								  NULL);

	if(!_consoleWindow)
		return IRESULT_ERROR;

    ShowWindow(_consoleWindow,SW_SHOWNORMAL);
    UpdateWindow(_consoleWindow);

	//------------------------Erstelle Listbox---------------------//
	// Die Größe der Listbox wird an die größe des Konsolenfensters angepasst
	// , da sich dieses nicht in der Größe verändert und eine dynamische
	// Umformung nicht notwendig ist
	//

	 IConsole::_listWindow = CreateWindow(TEXT(&quot;LISTBOX&quot;), 
		                        TEXT(&quot;Console&quot;), 
								WS_CHILD | WS_VISIBLE| WS_BORDER | LBS_DISABLENOSCROLL | WS_VSCROLL   , 
								0, 
								0, 
								484, 
								365,
								_consoleWindow, 
								NULL, 
								hinst, 
								NULL);

	 _listItems = 0;

	return IRESULT_OK;
}

IResult IConsole::Terminate()
{
	return IRESULT_OK;

}

void IConsole::Update()
{
	DeleteList(_listItems);

    for(std::map&lt;std::string, boost::shared_ptr&lt;IVariable&gt; &gt;::const_iterator it = this-&gt;m_variables.begin(); it != this-&gt;m_variables.end(); ++it) {
		std::stringstream ss;
		std::string st;
		it-&gt;second-&gt;printTo(st);
		MessageBoxA(0,st.c_str(),0,0);
		ss &lt;&lt; (it-&gt;first) &lt;&lt; &quot; = &quot; &lt;&lt; st &lt;&lt; std::endl;
		UpdateList(ss.str());
    }

	if(GetMessage(&amp;msg, NULL, 0, 0))
	{
			TranslateMessage(&amp;msg);
			DispatchMessage(&amp;msg);
	}
}

void IConsole::UpdateList(std::string content)
{
	SendMessage(_listWindow, LB_ADDSTRING,0,(LPARAM)content.c_str());
}

void IConsole::DeleteList(int items)
{
	for(int i = items; i &gt; 0; i--)
	{
		SendMessage(_listWindow,LB_DELETESTRING,(WPARAM)i,NULL);
	}
}

LRESULT CALLBACK IConsole_WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
	switch (msg)
	{
	case WM_CREATE:

	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(hwnd, msg, wParam, lParam);
	}
	return 0;

}
</code></pre>
<p>Wäre euch sehr sehr dankbar, wenn jemand den Fehler finden, denn ich seh da keinen.<br />
Danke im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2264032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2264032</guid><dc:creator><![CDATA[Bob Wolfskin]]></dc:creator><pubDate>Thu, 25 Oct 2012 17:59:31 GMT</pubDate></item><item><title><![CDATA[Reply to Variablenmanager ausgang undefiniert ?! on Thu, 25 Oct 2012 23:49:19 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>irgendwas anderes herauszubekommen ist irgendwie eine seltsame Fehlerbeschreibung.</p>
<p>was mir auffällt ist allerdings folgendes:</p>
<pre><code class="language-cpp">LRESULT CALLBACK IConsole_WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch (msg)
    {
    case WM_CREATE:
        // mindestens break fehlt
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    return 0;

}
</code></pre>
<p>vlt. ist das irgendwas anderes.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2264277</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2264277</guid><dc:creator><![CDATA[trueStory]]></dc:creator><pubDate>Thu, 25 Oct 2012 23:49:19 GMT</pubDate></item><item><title><![CDATA[Reply to Variablenmanager ausgang undefiniert ?! on Sat, 27 Oct 2012 09:01:59 GMT]]></title><description><![CDATA[<p>Danke für den Hinweis aber das war es nicht.Ich kann jetzt nur noch folgendes sagen:</p>
<p>Wenn ich den Manager in meiner Initialize Funktion ( einer anderen klasse ) erstelle, dort eine Variable hinzufüge und direkt ausgeben, ist alles richt.</p>
<p>Wenn ich jedoch doe ausgabefunction in einer anderen funktion als Initialize ( z.B in Update ) ausführe bekomme ich nur schrott raus.<br />
Kann sein, dass es was mit den smartpointern zu tun hat, die dann auf einen null-pointer zeigen.....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2264598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2264598</guid><dc:creator><![CDATA[Bob Wolfskin]]></dc:creator><pubDate>Sat, 27 Oct 2012 09:01:59 GMT</pubDate></item><item><title><![CDATA[Reply to Variablenmanager ausgang undefiniert ?! on Sat, 27 Oct 2012 09:29:14 GMT]]></title><description><![CDATA[<p>Was mir auffaellt: dein Variablen Manager speichert nur Zeiger auf und keine Kopien von den Variablen die du in ihn reinschreibst.</p>
<p>Das kann natuerlich zu Problemen fuehren.</p>
<p>PS:<br />
reduziere bitte den Code auf das wesentliche - aktuell ist sehr viel Boilerplate Code fuer Fenstererstellung etc. vorhanden - der ja nicht zum Problem beitraegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2264601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2264601</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Sat, 27 Oct 2012 09:29:14 GMT</pubDate></item><item><title><![CDATA[Reply to Variablenmanager ausgang undefiniert ?! on Sat, 27 Oct 2012 12:24:16 GMT]]></title><description><![CDATA[<p>Und was soll ich da machen ?? Wie kann man eine kopie von einem template erstellen ?</p>
<p>Hier ist das mal zusammengefasst:</p>
<pre><code class="language-cpp">class Variable {
  public:
    virtual void printTo(std::string&amp; out) const = 0;
};

template &lt;typename T&gt;
class VariableImpl : public Variable {
  public:
    explicit VariableImpl(T* managed = NULL) : m_managed(managed) {}
    void setManaged(T* managed) { m_managed = managed; }
    virtual void printTo(std::string&amp; out) const {
	  std::stringstream ss;
	  ss &lt;&lt; *m_managed;
      out = ss.str();
    }
  private:
    T* m_managed;
};

template &lt;typename T&gt;
Variable* make_variable(T const&amp; var) {
  Variable* temp = new VariableImpl&lt;T const&gt;(&amp;var);
  return temp;
}

class VariableManager {
  public:
     template &lt;typename T&gt;
     void addVariable(std::string name, T const&amp; v) { m_variables[name] = make_variable(v); }
     std::string Out() {
		 std::string out;
        for(std::map&lt;std::string,Variable* &gt;::const_iterator it = this-&gt;m_variables.begin(); it != this-&gt;m_variables.end(); ++it) {
			std::stringstream ss;
			std::string st;
			it-&gt;second-&gt;printTo(st);
			ss &lt;&lt; (it-&gt;first) &lt;&lt; &quot; = &quot; &lt;&lt; st &lt;&lt; std::endl;
		    out = ss.str();
			MessageBoxA(0,st.c_str(),0,0);
       }
       return out;
     }
  private:
    std::map&lt;std::string,Variable*&gt; m_variables;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2264630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2264630</guid><dc:creator><![CDATA[Bob Wolfskin]]></dc:creator><pubDate>Sat, 27 Oct 2012 12:24:16 GMT</pubDate></item><item><title><![CDATA[Reply to Variablenmanager ausgang undefiniert ?! on Sat, 27 Oct 2012 13:36:28 GMT]]></title><description><![CDATA[<p>Bob Wolfskin schrieb:</p>
<blockquote>
<p>Und was soll ich da machen ?? Wie kann man eine kopie von einem template erstellen ?</p>
</blockquote>
<p>statt<br />
Variable* temp = new VariableImpl&lt;T const&gt;(&amp;var);<br />
einfach<br />
Variable* temp = new VariableImpl&lt;T&gt;(var);<br />
schreiben?</p>
<p>Ich verstehen deine Frage leider nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2264647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2264647</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Sat, 27 Oct 2012 13:36:28 GMT</pubDate></item><item><title><![CDATA[Reply to Variablenmanager ausgang undefiniert ?! on Sat, 27 Oct 2012 16:18:36 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich nehme an es wird in dem beschrieben Fall zu einer Ausnahme kommen, weil der Zeiger in der Variable auf einen ungültigen Bereich zeigt da die auszugebende Variable nicht mehr existiert.</p>
<p>Testen kannst du das z.B. mit folgendem Code:</p>
<pre><code class="language-cpp">// funktion im VaribleManager zum testen ergänzen. 
template&lt;typename T&gt;
void GetValue( const std::string&amp; Name, T&amp; RefToValue)
{
	try
	{
		RefToValue = ( (VariableImpl&lt;T&gt;*)(m_variables[Name]).get() )-&gt;GetValue();
	}
	catch (...)
	{
		std::string Text = &quot;Objekt &quot; + Name + &quot; ist nicht mehr vorhanden.&quot;;
		MessageBoxA( 0, Text.c_str(), 0, 0 );
	}
}
</code></pre>
<p>Die Funktion GetValue() aufrufen um den Wert des Objektes zu erhalten.<br />
Das ist sicherlich nicht die optimale Variante, aber ein gangbarer Weg um deinen Problemfall zum testen</p>
<p>zukünftig:<br />
Versuche das Objekt (Variable) mit einem shared_ptr und new zu erstellen. Der Smart-Pointer kümmert sich dann um die Freigabe.<br />
Wenn das die Lösung ist solltest du dich nochmal über die Lebenszeiten von Objekten informieren sowie über Pointer &amp; SmartPointer.</p>
<p>Ist das nicht der Fehler dann gib bitte eine genauere Beschreibung</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2264700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2264700</guid><dc:creator><![CDATA[trueStory]]></dc:creator><pubDate>Sat, 27 Oct 2012 16:18:36 GMT</pubDate></item><item><title><![CDATA[Reply to Variablenmanager ausgang undefiniert ?! on Sat, 27 Oct 2012 19:05:19 GMT]]></title><description><![CDATA[<p>Hmm ich sehe jetzt glaub ich warum das die ganze Zeit so eine Scheiße macht.<br />
Ich erstelle in einer Methode eine lokale Variable und lasse auf diese <a href="http://zeigen.In" rel="nofollow">zeigen.In</a> einer anderen Funktion ruf ich sie wieder auf, natürlich gibt es sie dort nicht.......</p>
<p>Danke Leute</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2264734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2264734</guid><dc:creator><![CDATA[Bob Wolfskin]]></dc:creator><pubDate>Sat, 27 Oct 2012 19:05:19 GMT</pubDate></item></channel></rss>