<?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[Mal wieder die globalen Variablen!]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hoffe ich nerve damit niemanden, aber ich habe mal wieder ein Problem mit den globalen Variablen und diese richtig einzubinden.</p>
<p>Ich habe schon verschiedene Beiträge in diesem Forum dazu gefunden, bin aber mein Problem trotzdem nicht los.</p>
<p>Also ich binde meine globalen Variablen in stdafx.h ein mit</p>
<pre><code class="language-cpp">namespace Global{
	extern float fOSPTol, fUSPTol, fODWTol, fUDWTol;
	extern char nMess;
}
</code></pre>
<p>Der Zugriff in meinem Hauptdialog:</p>
<pre><code class="language-cpp">void CSerial_09Dlg::OnBnClickedButtonMessEin()
{
	// TODO: Fügen Sie hier Ihren Kontrollbehandlungscode für die Benachrichtigung ein.
	SendData(0,'A'); // 'A' für Automatikmodus
	GetDlgItem(IDC_BUTTON_MESS_EIN)-&gt;EnableWindow(FALSE);
	GetDlgItem(IDC_BUTTON_MESS_AUS)-&gt;EnableWindow(TRUE);

	char* strStepsOSPTol = new char[5];
	char* strStepsUSPTol = new char[5];
	char* strStepsODWTol = new char[5];
	char* strStepsUDWTol = new char[5];

	// Toleranzen in Schritte umrechnen
	int nStepsOSPTol = Global::fOSPTol / 0.0025;
	int nStepsUSPTol = Global::fUSPTol / 0.0025;
	int nStepsODWTol = Global::fODWTol / 0.0025;
	int nStepsUDWTol = Global::fUDWTol / 0.0025;

	sprintf(strStepsOSPTol, &quot;%d&quot;,nStepsOSPTol);
	sprintf(strStepsUSPTol, &quot;%d&quot;,nStepsUSPTol);
	sprintf(strStepsODWTol, &quot;%d&quot;,nStepsODWTol);
	sprintf(strStepsUDWTol, &quot;%d&quot;,nStepsUDWTol);

	// Toleranzen senden
	SendData(0,strStepsOSPTol,4);
	SendData(0,strStepsUSPTol,4);
	SendData(0,strStepsODWTol,4);
	SendData(0,strStepsUDWTol,4);

	// Mess-Methodik senden
	SendData(0,Global::nMess);

	// Timer starten
	int Probe = SetTimer(1,200,NULL);
	if (Probe == 0){
		AfxMessageBox(_T(&quot;Timer konnte nicht initialisiert werden&quot;),MB_OK | MB_ICONINFORMATION,0);
	}

}
</code></pre>
<p>Der Zugriff aus meinem Dialog für Einstellungen:</p>
<pre><code class="language-cpp">void CEinstellungen::OnBnClickedOk()
{
	// TODO: Fügen Sie hier Ihren Kontrollbehandlungscode für die Benachrichtigung ein.
	// 1. CArray mit den übernommenen Werten global zugänglich speichern
	// 2. (float-Werte)

	Global::fOSPTol = _wtof(m_strOSPTol);
	Global::fUSPTol = _wtof(m_strUSPTol);
	Global::fODWTol = _wtof(m_strODWTol);
	Global::fUDWTol = _wtof(m_strUDWTol);

	if (strMessMethode == _T(&quot;Oeffner&quot;)){
		Global::nMess = 'O';
	}
	else if (strMessMethode == _T(&quot;Schliesser&quot;)){
		Global::nMess = 'S';
	}
	else if (strMessMethode == _T(&quot;Wechsler&quot;)){
		Global::nMess = 'W';
	}

	CDialog::OnOK();
}
</code></pre>
<p>Ich habe es jetzt zweimal compilieren können und es hat funktioniert, d.h. ohne LNK-error.</p>
<p>Jetzt habe ich heute mein Projekt &quot;neu erstellt&quot; und ich bekomme wieder jede Menge dieser LNK-error.</p>
<pre><code>Einstellungen.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;char Global::nMess&quot; (?nMess@Global@@3DA)&quot;.
Serial_09Dlg.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;char Global::nMess&quot; (?nMess@Global@@3DA)&quot; 
in Funktion &quot;&quot;public: void __thiscall CSerial_09Dlg::OnOptionenReferenz(void)&quot; (?OnOptionenReferenz@CSerial_09Dlg@@QAEXXZ)&quot;.
Einstellungen.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;float Global::fUDWTol&quot; (?fUDWTol@Global@@3MA)&quot;.
Serial_09Dlg.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;float Global::fUDWTol&quot; (?fUDWTol@Global@@3MA)&quot; 
in Funktion &quot;&quot;public: void __thiscall CSerial_09Dlg::OnOptionenReferenz(void)&quot; (?OnOptionenReferenz@CSerial_09Dlg@@QAEXXZ)&quot;.
Einstellungen.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;float Global::fODWTol&quot; (?fODWTol@Global@@3MA)&quot;.
Serial_09Dlg.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;float Global::fODWTol&quot; (?fODWTol@Global@@3MA)&quot; 
in Funktion &quot;&quot;public: void __thiscall CSerial_09Dlg::OnOptionenReferenz(void)&quot; (?OnOptionenReferenz@CSerial_09Dlg@@QAEXXZ)&quot;.
Einstellungen.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;float Global::fUSPTol&quot; (?fUSPTol@Global@@3MA)&quot;.
Serial_09Dlg.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;float Global::fUSPTol&quot; (?fUSPTol@Global@@3MA)&quot; 
in Funktion &quot;&quot;public: void __thiscall CSerial_09Dlg::OnOptionenReferenz(void)&quot; (?OnOptionenReferenz@CSerial_09Dlg@@QAEXXZ)&quot;.
Einstellungen.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;float Global::fOSPTol&quot; (?fOSPTol@Global@@3MA)&quot;.
Serial_09Dlg.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;float Global::fOSPTol&quot; (?fOSPTol@Global@@3MA)&quot;.
</code></pre>
<p>Ich habe, wie bereits erwähnt, einige Beiträge durchforstet und auch den Hinweis gefunden in den Projekteinstellungen etwas zu ändern:<br />
Stichwort: /INCREMENTAL durch /FORCE ersetzen in den Linkereinstellungen.<br />
Wenn ich das versuche wird die Änderung allerdings nicht übernommen und somit nicht wirksam.</p>
<p>Weiß jemand wie ich das sonst lösen kann.</p>
<p>Stichwort: Get und Set-Methoden?<br />
Ich müsste auf Variablen aus der Dialogklasse für Einstellungen in meinem Hauptdialog zugreifen. Nur habe ich das Gefühl, dass die Lebensdauer der Variablen in meinem Einstellungsdialog abgelaufen ist sobald ich den Einstellungs-Dialog schliesse.</p>
<p>Gruss</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/178981/mal-wieder-die-globalen-variablen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 00:03:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/178981.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 17 Apr 2007 11:12:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mal wieder die globalen Variablen! on Tue, 17 Apr 2007 11:12:05 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hoffe ich nerve damit niemanden, aber ich habe mal wieder ein Problem mit den globalen Variablen und diese richtig einzubinden.</p>
<p>Ich habe schon verschiedene Beiträge in diesem Forum dazu gefunden, bin aber mein Problem trotzdem nicht los.</p>
<p>Also ich binde meine globalen Variablen in stdafx.h ein mit</p>
<pre><code class="language-cpp">namespace Global{
	extern float fOSPTol, fUSPTol, fODWTol, fUDWTol;
	extern char nMess;
}
</code></pre>
<p>Der Zugriff in meinem Hauptdialog:</p>
<pre><code class="language-cpp">void CSerial_09Dlg::OnBnClickedButtonMessEin()
{
	// TODO: Fügen Sie hier Ihren Kontrollbehandlungscode für die Benachrichtigung ein.
	SendData(0,'A'); // 'A' für Automatikmodus
	GetDlgItem(IDC_BUTTON_MESS_EIN)-&gt;EnableWindow(FALSE);
	GetDlgItem(IDC_BUTTON_MESS_AUS)-&gt;EnableWindow(TRUE);

	char* strStepsOSPTol = new char[5];
	char* strStepsUSPTol = new char[5];
	char* strStepsODWTol = new char[5];
	char* strStepsUDWTol = new char[5];

	// Toleranzen in Schritte umrechnen
	int nStepsOSPTol = Global::fOSPTol / 0.0025;
	int nStepsUSPTol = Global::fUSPTol / 0.0025;
	int nStepsODWTol = Global::fODWTol / 0.0025;
	int nStepsUDWTol = Global::fUDWTol / 0.0025;

	sprintf(strStepsOSPTol, &quot;%d&quot;,nStepsOSPTol);
	sprintf(strStepsUSPTol, &quot;%d&quot;,nStepsUSPTol);
	sprintf(strStepsODWTol, &quot;%d&quot;,nStepsODWTol);
	sprintf(strStepsUDWTol, &quot;%d&quot;,nStepsUDWTol);

	// Toleranzen senden
	SendData(0,strStepsOSPTol,4);
	SendData(0,strStepsUSPTol,4);
	SendData(0,strStepsODWTol,4);
	SendData(0,strStepsUDWTol,4);

	// Mess-Methodik senden
	SendData(0,Global::nMess);

	// Timer starten
	int Probe = SetTimer(1,200,NULL);
	if (Probe == 0){
		AfxMessageBox(_T(&quot;Timer konnte nicht initialisiert werden&quot;),MB_OK | MB_ICONINFORMATION,0);
	}

}
</code></pre>
<p>Der Zugriff aus meinem Dialog für Einstellungen:</p>
<pre><code class="language-cpp">void CEinstellungen::OnBnClickedOk()
{
	// TODO: Fügen Sie hier Ihren Kontrollbehandlungscode für die Benachrichtigung ein.
	// 1. CArray mit den übernommenen Werten global zugänglich speichern
	// 2. (float-Werte)

	Global::fOSPTol = _wtof(m_strOSPTol);
	Global::fUSPTol = _wtof(m_strUSPTol);
	Global::fODWTol = _wtof(m_strODWTol);
	Global::fUDWTol = _wtof(m_strUDWTol);

	if (strMessMethode == _T(&quot;Oeffner&quot;)){
		Global::nMess = 'O';
	}
	else if (strMessMethode == _T(&quot;Schliesser&quot;)){
		Global::nMess = 'S';
	}
	else if (strMessMethode == _T(&quot;Wechsler&quot;)){
		Global::nMess = 'W';
	}

	CDialog::OnOK();
}
</code></pre>
<p>Ich habe es jetzt zweimal compilieren können und es hat funktioniert, d.h. ohne LNK-error.</p>
<p>Jetzt habe ich heute mein Projekt &quot;neu erstellt&quot; und ich bekomme wieder jede Menge dieser LNK-error.</p>
<pre><code>Einstellungen.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;char Global::nMess&quot; (?nMess@Global@@3DA)&quot;.
Serial_09Dlg.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;char Global::nMess&quot; (?nMess@Global@@3DA)&quot; 
in Funktion &quot;&quot;public: void __thiscall CSerial_09Dlg::OnOptionenReferenz(void)&quot; (?OnOptionenReferenz@CSerial_09Dlg@@QAEXXZ)&quot;.
Einstellungen.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;float Global::fUDWTol&quot; (?fUDWTol@Global@@3MA)&quot;.
Serial_09Dlg.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;float Global::fUDWTol&quot; (?fUDWTol@Global@@3MA)&quot; 
in Funktion &quot;&quot;public: void __thiscall CSerial_09Dlg::OnOptionenReferenz(void)&quot; (?OnOptionenReferenz@CSerial_09Dlg@@QAEXXZ)&quot;.
Einstellungen.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;float Global::fODWTol&quot; (?fODWTol@Global@@3MA)&quot;.
Serial_09Dlg.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;float Global::fODWTol&quot; (?fODWTol@Global@@3MA)&quot; 
in Funktion &quot;&quot;public: void __thiscall CSerial_09Dlg::OnOptionenReferenz(void)&quot; (?OnOptionenReferenz@CSerial_09Dlg@@QAEXXZ)&quot;.
Einstellungen.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;float Global::fUSPTol&quot; (?fUSPTol@Global@@3MA)&quot;.
Serial_09Dlg.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;float Global::fUSPTol&quot; (?fUSPTol@Global@@3MA)&quot; 
in Funktion &quot;&quot;public: void __thiscall CSerial_09Dlg::OnOptionenReferenz(void)&quot; (?OnOptionenReferenz@CSerial_09Dlg@@QAEXXZ)&quot;.
Einstellungen.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;float Global::fOSPTol&quot; (?fOSPTol@Global@@3MA)&quot;.
Serial_09Dlg.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;float Global::fOSPTol&quot; (?fOSPTol@Global@@3MA)&quot;.
</code></pre>
<p>Ich habe, wie bereits erwähnt, einige Beiträge durchforstet und auch den Hinweis gefunden in den Projekteinstellungen etwas zu ändern:<br />
Stichwort: /INCREMENTAL durch /FORCE ersetzen in den Linkereinstellungen.<br />
Wenn ich das versuche wird die Änderung allerdings nicht übernommen und somit nicht wirksam.</p>
<p>Weiß jemand wie ich das sonst lösen kann.</p>
<p>Stichwort: Get und Set-Methoden?<br />
Ich müsste auf Variablen aus der Dialogklasse für Einstellungen in meinem Hauptdialog zugreifen. Nur habe ich das Gefühl, dass die Lebensdauer der Variablen in meinem Einstellungsdialog abgelaufen ist sobald ich den Einstellungs-Dialog schliesse.</p>
<p>Gruss</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267657</guid><dc:creator><![CDATA[oliher]]></dc:creator><pubDate>Tue, 17 Apr 2007 11:12:05 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder die globalen Variablen! on Tue, 17 Apr 2007 11:19:58 GMT]]></title><description><![CDATA[<p>Erstens: 'extern' sagt dem Compiler nur, daß es diese Variablen gibt - in (genau) einer der Quelldateien mußt du auch die zugehörigen Definitionen unterbringen.</p>
<p>Zweitens: globale Variablen sind &quot;böse&quot;. Das heißt, du solltest die Variablen lieber in eine deiner Klassen packen (ich würde den Hauptdialog verwenden).</p>
<p>PS: Die Methode OnBnClickedButtonMessEin() hat übrigens ein gewaltiges Speicherleck - du reservierst 4*5 Byte auf dem Heap und räumst die nirgends wieder auf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267664</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 17 Apr 2007 11:19:58 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder die globalen Variablen! on Tue, 17 Apr 2007 11:29:28 GMT]]></title><description><![CDATA[<p>Den Ausführungen von CStoll kann ich mich nur anschließen.</p>
<p>Wenn Du so etwas wie globale statische Variablen benötigst, dann solltest Du das in Singletons verpacken oder einfach schon bestehende Singletons verwenden (CWinApp).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267675</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 17 Apr 2007 11:29:28 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder die globalen Variablen! on Tue, 17 Apr 2007 12:37:54 GMT]]></title><description><![CDATA[<p>Danke für den Hinweis mit dem Speicherlek!</p>
<p>Ich bin MFC-C++ Neuling und dazu Quereinsteiger. Du meinst sicher die char-Arrays<br />
oder?<br />
Soll ich den Speicher mit &quot;delete&quot; wieder freigeben?</p>
<p>Du sagst ich sollte die Variable lieber in eine meiner Klassen packen. Das habe ich bereits probiert. Nur sobald ich mein Eistellungs-Dialog verlasse möchte ich Werte aus eben diesem Dialog in meinem Hauptdialog abspeichern, damit ich die Werte in meinem Hauptdialog nutzen kann. Nur funktioniert das leider nicht.</p>
<p>Ich habe die Variablen in meiner Klasse CEinstellungen im Header wie folgt deklariert:</p>
<pre><code class="language-cpp">public:
	float fOSPTol, fUSPTol, fODWTol, fUDWTol;
	char nMess;
</code></pre>
<p>In der Routine, in der ich den Einstellungs-Dialog beende habe ich folgendes deklariert:</p>
<pre><code class="language-cpp">void CEinstellungen::OnBnClickedOk()
{
	// TODO: Fügen Sie hier Ihren Kontrollbehandlungscode für die Benachrichtigung ein.
	// 1. CArray mit den übernommenen Werten global zugänglich speichern
	// 2. (float-Werte)

	fOSPTol = _wtof(m_strOSPTol);
	fUSPTol = _wtof(m_strUSPTol);
	fODWTol = _wtof(m_strODWTol);
	fUDWTol = _wtof(m_strUDWTol);

	if (strMessMethode == _T(&quot;Oeffner&quot;)){
		nMess = 'O';
	}
	else if (strMessMethode == _T(&quot;Schliesser&quot;)){
		nMess = 'S';
	}
	else if (strMessMethode == _T(&quot;Wechsler&quot;)){
		nMess = 'W';
	}

	Set();

	CDialog::OnOK();
}

void CEinstellungen::OnOK()
{
	;
}

void CEinstellungen::Set()
{
	CSerial_09Dlg pMyDlg = new CSerial_09Dlg;
	pMyDlg.fOSPTol = fOSPTol;
	pMyDlg.fUSPTol = fUSPTol;
	pMyDlg.fODWTol = fODWTol;
	pMyDlg.fUDWTol = fUDWTol;

	pMyDlg.nMess = nMess;

	delete pMyDlg; // Hier gebe ich den Speicherbereich wieder frei, richtig?
}
</code></pre>
<p>CSerial_09Dlg ist meine Hauptdialogklasse, in dieser habe ich ebenfalls intern die Variablen:</p>
<pre><code class="language-cpp">public:
	float fOSPTol, fUSPTol, fODWTol, fUDWTol;
	char nMess;
</code></pre>
<p>deklariet.</p>
<p>Wenn ich also meinen Einstellungs-Dialog verlasse müssten die Variablen doch bekannt sein oder nicht?<br />
Im Debug-Modus musste ich jedoch feststellen, das dies nicht der Fall war.</p>
<p>Ich weiß nicht mehr weiter!</p>
<p>Bitte um Hilfe</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267715</guid><dc:creator><![CDATA[oliher]]></dc:creator><pubDate>Tue, 17 Apr 2007 12:37:54 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder die globalen Variablen! on Tue, 17 Apr 2007 13:10:41 GMT]]></title><description><![CDATA[<p>Was ist im übrigen ein Singleton?</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267736</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267736</guid><dc:creator><![CDATA[oliher]]></dc:creator><pubDate>Tue, 17 Apr 2007 13:10:41 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder die globalen Variablen! on Tue, 17 Apr 2007 14:00:03 GMT]]></title><description><![CDATA[<p>oliher schrieb:</p>
<blockquote>
<p>Was ist im übrigen ein Singleton?</p>
<p>Oliver</p>
</blockquote>
<p>Ein Design Pattern, deutsch Entwurfsmuster. Siehe auch:<br />
<a href="http://de.wikipedia.org/wiki/Entwurfsmuster" rel="nofollow">http://de.wikipedia.org/wiki/Entwurfsmuster</a><br />
<a href="http://www.dofactory.com/Patterns/Patterns.aspx" rel="nofollow">http://www.dofactory.com/Patterns/Patterns.aspx</a><br />
<a href="http://www.dofactory.com/Patterns/PatternSingleton.aspx" rel="nofollow">http://www.dofactory.com/Patterns/PatternSingleton.aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267765</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Tue, 17 Apr 2007 14:00:03 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder die globalen Variablen! on Tue, 17 Apr 2007 15:58:42 GMT]]></title><description><![CDATA[<p>Problem gelöst!</p>
<p>Ich habe mir ne globale Datenklasse geschrieben!</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267856</guid><dc:creator><![CDATA[oliher]]></dc:creator><pubDate>Tue, 17 Apr 2007 15:58:42 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder die globalen Variablen! on Wed, 18 Apr 2007 06:29:38 GMT]]></title><description><![CDATA[<p>oliher schrieb:</p>
<blockquote>
<p>Danke für den Hinweis mit dem Speicherlek!</p>
<p>Ich bin MFC-C++ Neuling und dazu Quereinsteiger. Du meinst sicher die char-Arrays<br />
oder?<br />
Soll ich den Speicher mit &quot;delete&quot; wieder freigeben?</p>
</blockquote>
<p>Das ist eine Möglichkeit. Aber besser ist es wohl, du verwendest std::string's (in deiner Anwendung könnten auch lokale char-Arrays ausreichen.</p>
<blockquote>
<p>Du sagst ich sollte die Variable lieber in eine meiner Klassen packen. Das habe ich bereits probiert. Nur sobald ich mein Eistellungs-Dialog verlasse möchte ich Werte aus eben diesem Dialog in meinem Hauptdialog abspeichern, damit ich die Werte in meinem Hauptdialog nutzen kann. Nur funktioniert das leider nicht.</p>
</blockquote>
<p>Wie ich schon sagte, ist vermutlich der Hauptdialog besser beeignet. Allerdings solltest du zum Setzen nicht eine neue Instanz des Hauptdialogs anlegen (deine Methode Set() legt ein neues Objekt an, schreibt die Daten dort rein und löscht es wieder - inklusive der gerade geschriebenen Daten), sondern dir über AfxGetMainWnd() das vorhandene Hauptfenster deiner Anwendung holen.</p>
<p>PS: Daß der Ausschnitt kompiliert wurde, wundert mich. pMyDlg ist (trotz des Namens) <strong>kein</strong> Zeiger und kann und muss deshalb nicht per new angelegt werden (nein, wir sind hier nicht bei Java).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1268109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268109</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 18 Apr 2007 06:29:38 GMT</pubDate></item></channel></rss>