<?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[membervariablen weitergeben]]></title><description><![CDATA[<p>hi,<br />
ich probier jetzt schon tagelang an einem bestimmten problem rum und hoffe, hier kann mir jemand helfen.</p>
<p>also ich möchte einfach nur von einem dialogfeld beim druck auf den OK-Button das Ergebnis der GetCurSel()-Funktion an den ursprünglichen Dialog (Klasse) zurückgeben.</p>
<p>die h-datei des ersten dialoges (der automatisch aufgerufen wird):</p>
<pre><code class="language-cpp">class CadpcmgsmDlg : public CDialog
{
// Konstruktion
public:
	CadpcmgsmDlg(CWnd* pParent = NULL);	// Standardkonstruktor

// Dialogfelddaten
	enum { IDD = IDD_ADPCMGSM_DIALOG };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV-Unterstützung

// Implementierung
protected:
	HICON m_hIcon;

	// Generierte Funktionen für die Meldungstabellen
	virtual BOOL			OnInitDialog();
	afx_msg void			OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void			OnPaint();
	afx_msg HCURSOR			OnQueryDragIcon();

	DECLARE_MESSAGE_MAP()

public: 
	//Variables
...

	int						adpcmbitrate;

	//Functions
	afx_msg void			OnBnClickedPlay();   
	afx_msg void			OnTimer(UINT); 
	afx_msg void			OnBnClickedStop();
...
};
</code></pre>
<p>der aufruf des 2. dialoges erfolgt so:</p>
<pre><code class="language-cpp">void CadpcmgsmDlg::OnBnClickedAdpcm()
{ 
	CadpcmgsmBitrateDialog bitratedialog;

	bitratedialog.p_adpcmbitrate = &amp;adpcmbitrate;
   // Create and show the dialog box
	bitratedialog.DoModal();

}
</code></pre>
<p>h-datei des 2. dialoges:</p>
<pre><code class="language-cpp">#pragma once
#include &quot;adpcmgsmDlg.h&quot;

// CadpcmgsmBitrateDialog-Dialogfeld

class CadpcmgsmBitrateDialog : public CDialog
{
	DECLARE_DYNAMIC(CadpcmgsmBitrateDialog)

public:
	CadpcmgsmBitrateDialog(CWnd* pParent = NULL);   // Standardkonstruktor
	virtual ~CadpcmgsmBitrateDialog();

// Dialogfelddaten
	enum { IDD = IDD_BITRATEDIALOG };

protected:
	virtual void			DoDataExchange(CDataExchange* pDX);    // DDX/DDV-Unterstützung
	virtual BOOL			OnInitDialog();
	DECLARE_MESSAGE_MAP()
public:
	afx_msg void OnBnClickedOk();
	int rate;
	int *p_adpcmbitrate;
};
</code></pre>
<p>und zu guter letzt noch der aufruf der eigentlich geplanten übergabe</p>
<pre><code class="language-cpp">void CadpcmgsmBitrateDialog::OnBnClickedOk()
{

	CComboBox *rateBox = (CComboBox*) GetDlgItem(IDC_RATE);
	rate = rateBox-&gt;GetCurSel();
	*p_adpcmbitrate = rate;

	this-&gt;EndDialog(1);

}
</code></pre>
<p>der compiler spuckt keine fehlermeldung aus aber es funktioniert einfach nicht. ich hoffe ihr könnt mir helfen, vielen Dank schonaml im Voraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/165172/membervariablen-weitergeben</link><generator>RSS for Node</generator><lastBuildDate>Fri, 31 Jul 2026 07:29:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165172.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 16 Nov 2006 09:53:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to membervariablen weitergeben on Thu, 16 Nov 2006 09:53:05 GMT]]></title><description><![CDATA[<p>hi,<br />
ich probier jetzt schon tagelang an einem bestimmten problem rum und hoffe, hier kann mir jemand helfen.</p>
<p>also ich möchte einfach nur von einem dialogfeld beim druck auf den OK-Button das Ergebnis der GetCurSel()-Funktion an den ursprünglichen Dialog (Klasse) zurückgeben.</p>
<p>die h-datei des ersten dialoges (der automatisch aufgerufen wird):</p>
<pre><code class="language-cpp">class CadpcmgsmDlg : public CDialog
{
// Konstruktion
public:
	CadpcmgsmDlg(CWnd* pParent = NULL);	// Standardkonstruktor

// Dialogfelddaten
	enum { IDD = IDD_ADPCMGSM_DIALOG };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV-Unterstützung

// Implementierung
protected:
	HICON m_hIcon;

	// Generierte Funktionen für die Meldungstabellen
	virtual BOOL			OnInitDialog();
	afx_msg void			OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void			OnPaint();
	afx_msg HCURSOR			OnQueryDragIcon();

	DECLARE_MESSAGE_MAP()

public: 
	//Variables
...

	int						adpcmbitrate;

	//Functions
	afx_msg void			OnBnClickedPlay();   
	afx_msg void			OnTimer(UINT); 
	afx_msg void			OnBnClickedStop();
...
};
</code></pre>
<p>der aufruf des 2. dialoges erfolgt so:</p>
<pre><code class="language-cpp">void CadpcmgsmDlg::OnBnClickedAdpcm()
{ 
	CadpcmgsmBitrateDialog bitratedialog;

	bitratedialog.p_adpcmbitrate = &amp;adpcmbitrate;
   // Create and show the dialog box
	bitratedialog.DoModal();

}
</code></pre>
<p>h-datei des 2. dialoges:</p>
<pre><code class="language-cpp">#pragma once
#include &quot;adpcmgsmDlg.h&quot;

// CadpcmgsmBitrateDialog-Dialogfeld

class CadpcmgsmBitrateDialog : public CDialog
{
	DECLARE_DYNAMIC(CadpcmgsmBitrateDialog)

public:
	CadpcmgsmBitrateDialog(CWnd* pParent = NULL);   // Standardkonstruktor
	virtual ~CadpcmgsmBitrateDialog();

// Dialogfelddaten
	enum { IDD = IDD_BITRATEDIALOG };

protected:
	virtual void			DoDataExchange(CDataExchange* pDX);    // DDX/DDV-Unterstützung
	virtual BOOL			OnInitDialog();
	DECLARE_MESSAGE_MAP()
public:
	afx_msg void OnBnClickedOk();
	int rate;
	int *p_adpcmbitrate;
};
</code></pre>
<p>und zu guter letzt noch der aufruf der eigentlich geplanten übergabe</p>
<pre><code class="language-cpp">void CadpcmgsmBitrateDialog::OnBnClickedOk()
{

	CComboBox *rateBox = (CComboBox*) GetDlgItem(IDC_RATE);
	rate = rateBox-&gt;GetCurSel();
	*p_adpcmbitrate = rate;

	this-&gt;EndDialog(1);

}
</code></pre>
<p>der compiler spuckt keine fehlermeldung aus aber es funktioniert einfach nicht. ich hoffe ihr könnt mir helfen, vielen Dank schonaml im Voraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175746</guid><dc:creator><![CDATA[Amras Taralom]]></dc:creator><pubDate>Thu, 16 Nov 2006 09:53:05 GMT</pubDate></item><item><title><![CDATA[Reply to membervariablen weitergeben on Thu, 16 Nov 2006 10:20:31 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>was willst du damit bezwecken??</p>
<blockquote>
<p>bitratedialog.p_adpcmbitrate = &amp;adpcmbitrate;</p>
</blockquote>
<p>brauchst du die addresse der Variable?</p>
<p>dann kann es auch nicht funzen da du nicht auf die rückmeldung des dialogs wartest sondern diese übergehst.</p>
<p>bitratedialog.DoModal();//du rufst ihn auf aber wartest nicht</p>
<p>richtig wäre</p>
<blockquote>
<p>if(bitratedialog.DoModal() == IDOK) //bzw. IDCANCEL für abbruch<br />
{<br />
int ncursel = bitratedialog.rate;<br />
}</p>
</blockquote>
<p>was versucht du damit</p>
<blockquote>
<p>*p_adpcmbitrate = rate;</p>
</blockquote>
<p>dann kannst du den Dialog mit EndDialog beenden richtig wäre aber für eine Dialogfeldbasierende Anwendung</p>
<p>CDialog::OnOK(); bzw CDialog::OnCancel();</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175778</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175778</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Thu, 16 Nov 2006 10:20:31 GMT</pubDate></item><item><title><![CDATA[Reply to membervariablen weitergeben on Thu, 16 Nov 2006 10:32:22 GMT]]></title><description><![CDATA[<p>LowFly schrieb:</p>
<blockquote>
<p>richtig wäre</p>
<blockquote>
<p>if(bitratedialog.DoModal() == IDOK) //bzw. IDCANCEL für abbruch<br />
{<br />
int ncursel = bitratedialog.rate;<br />
}</p>
</blockquote>
</blockquote>
<p>vielen dank! das hats gebracht, ich hatte schon soviel zeug ausprobiert, va mit pointern rumgespielt (deshalb die adresszuweisung) dass ich selbst schon kaum noch durchgesehen hab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175798</guid><dc:creator><![CDATA[Amras Taralom]]></dc:creator><pubDate>Thu, 16 Nov 2006 10:32:22 GMT</pubDate></item></channel></rss>