<?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[Variabenübergabe zwischen verschiedenen Klassen (VC++)]]></title><description><![CDATA[<p>Hallo!</p>
<p>Programmiere für ein Mobiles Datenerfassungsgerät mit dem BS <a href="http://WindowsCE.net" rel="nofollow">WindowsCE.net</a> in den eMbedded VC++.<br />
Nun mein Problem:<br />
Wie kann ich einer Variablen einen Wert zuweisen, der in einer Variablen einer anderen Klasse abgelegt wurde.<br />
Bsp. habe eine Klasse CArtikel : CObjekt angelegt und Variablen public gemacht. Meine andere Klasse CMsgDlg1 : CDialog besitz die Variable mit dem Wert. Nun habe ich den Zugriff von CMsgDlg1 zu CArtikel mit:</p>
<pre><code class="language-cpp">class CMsgDlg1 : public CDialog 
{
// Construction
public:
	CMsgDlg1(CWnd* pParent = NULL);   // standard constructor

	CArtikel Artikel;
             int GetDS(int DS);
...
</code></pre>
<p>vorgenommen.</p>
<p>In der Funktion GetDS(int DS) sollen nun die Daten übergeben werden.</p>
<pre><code class="language-cpp">int CMsgDlg1::GetDS(int DS)
{
	int ret =0;

	m_ssvnr = Artikel.vorgang;
	m_sbnr = Artikel.benutzer;

	m_sartnr = Artikel.anummer;
	m_smenge = Artikel.menge;
	m_sTime = Artikel.datzeit;
}
</code></pre>
<p>Doch wenn ich nun Artikel. eingebe, werden die Variablen nicht angezeigt. Somit werden auch keine Werte übernommen.<br />
Kann es daran liegen, dass die Basisklassen untersiedlich sind??? Muss meine CArtikel - Klasse noch irgendwie mit der Klasse CDialog konfrontiert werden???<br />
Wie muss das dann aussehen???<br />
Vielen Dank im Voraus!!!</p>
<p>mfg motorbine</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/58081/variabenübergabe-zwischen-verschiedenen-klassen-vc</link><generator>RSS for Node</generator><lastBuildDate>Tue, 02 Jun 2026 17:51:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/58081.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 10 Dec 2003 09:17:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Variabenübergabe zwischen verschiedenen Klassen (VC++) on Wed, 10 Dec 2003 09:17:40 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Programmiere für ein Mobiles Datenerfassungsgerät mit dem BS <a href="http://WindowsCE.net" rel="nofollow">WindowsCE.net</a> in den eMbedded VC++.<br />
Nun mein Problem:<br />
Wie kann ich einer Variablen einen Wert zuweisen, der in einer Variablen einer anderen Klasse abgelegt wurde.<br />
Bsp. habe eine Klasse CArtikel : CObjekt angelegt und Variablen public gemacht. Meine andere Klasse CMsgDlg1 : CDialog besitz die Variable mit dem Wert. Nun habe ich den Zugriff von CMsgDlg1 zu CArtikel mit:</p>
<pre><code class="language-cpp">class CMsgDlg1 : public CDialog 
{
// Construction
public:
	CMsgDlg1(CWnd* pParent = NULL);   // standard constructor

	CArtikel Artikel;
             int GetDS(int DS);
...
</code></pre>
<p>vorgenommen.</p>
<p>In der Funktion GetDS(int DS) sollen nun die Daten übergeben werden.</p>
<pre><code class="language-cpp">int CMsgDlg1::GetDS(int DS)
{
	int ret =0;

	m_ssvnr = Artikel.vorgang;
	m_sbnr = Artikel.benutzer;

	m_sartnr = Artikel.anummer;
	m_smenge = Artikel.menge;
	m_sTime = Artikel.datzeit;
}
</code></pre>
<p>Doch wenn ich nun Artikel. eingebe, werden die Variablen nicht angezeigt. Somit werden auch keine Werte übernommen.<br />
Kann es daran liegen, dass die Basisklassen untersiedlich sind??? Muss meine CArtikel - Klasse noch irgendwie mit der Klasse CDialog konfrontiert werden???<br />
Wie muss das dann aussehen???<br />
Vielen Dank im Voraus!!!</p>
<p>mfg motorbine</p>
]]></description><link>https://www.c-plusplus.net/forum/post/412498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/412498</guid><dc:creator><![CDATA[motorbine]]></dc:creator><pubDate>Wed, 10 Dec 2003 09:17:40 GMT</pubDate></item><item><title><![CDATA[Reply to Variabenübergabe zwischen verschiedenen Klassen (VC++) on Wed, 10 Dec 2003 09:55:34 GMT]]></title><description><![CDATA[<p>Aloha,</p>
<p>zeig doch mal an welcher Stelle Du in Deinem Dialog Du von CArtikel eine Instanz anlegst, bzw. wo Du Deine Variablen wie vorgang, benutzer etc. initialisierst.</p>
<p>Du includierst auch CArtikel in der CMsgDlgl ???</p>
<p>Grüße</p>
<p>BOA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/412555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/412555</guid><dc:creator><![CDATA[BOA]]></dc:creator><pubDate>Wed, 10 Dec 2003 09:55:34 GMT</pubDate></item><item><title><![CDATA[Reply to Variabenübergabe zwischen verschiedenen Klassen (VC++) on Wed, 10 Dec 2003 10:07:26 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>in der Artikel.h</p>
<pre><code class="language-cpp">class CArtikel : public CObject  

{
public:
	CString vorgang;
	CString benutzer;
	CString anummer;
	CString menge;
	CString datzeit;
	sDB DB;

	CArtikel();
	virtual ~CArtikel();

};
</code></pre>
<p>in der Artikel.cpp ist #include MsgDlg1.h und<br />
in der MsgDlg1.cpp ist #include Artikel.h</p>
<p>In der MsgDlg.h befindet sich folgendes:</p>
<pre><code class="language-cpp">class CMsgDlg1 : public CDialog 
{
// Construction
public:

	CMsgDlg1(CWnd* pParent = NULL);   // standard constructor

	CArtikel Artikel;

	int GetDS(int DS);

// Dialog Data
	//{{AFX_DATA(CMsgDlg1)
	enum { IDD = IDD_MESSAGEDLG1 };
	CString	m_ssvnr;
	CString	m_sbnr;
	CString	m_smenge;
	CString	m_sdat;
	CString	m_sartnr;
	CString	m_sTime;

	//}}AFX_DATA

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMsgDlg1)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CMsgDlg1)
	virtual BOOL OnInitDialog();
	afx_msg void OnBdspeichern();
	afx_msg void OnBexit();
	virtual void OnCancel();
	afx_msg void OnSvnr();
	afx_msg void OnBnext();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};
</code></pre>
<p>mfg motorbine</p>
]]></description><link>https://www.c-plusplus.net/forum/post/412576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/412576</guid><dc:creator><![CDATA[motorbine]]></dc:creator><pubDate>Wed, 10 Dec 2003 10:07:26 GMT</pubDate></item><item><title><![CDATA[Reply to Variabenübergabe zwischen verschiedenen Klassen (VC++) on Wed, 10 Dec 2003 10:22:13 GMT]]></title><description><![CDATA[<p>Aloha,</p>
<p>wofür das folgende ?</p>
<blockquote>
<p>in der Artikel.cpp ist #include MsgDlg1.h und</p>
</blockquote>
<p>Benötigst Du die Klasse MsgDlgl in CArtikel ?</p>
<p>Du hast eine Membervariable in MsgDlgl von Cartikel angelegt. Jetzt mußt Du ja noch den Variablen(vorgang,benutzer usw.) Werte zuweisen, bevor Du in Deiner GetDS() auf irgendwelche Werte zugreifst.</p>
<p>An welcher Stelle weist Du den Variablen in Cartikel die Werte zu ? Das muß natürlich vor dem Benutzen von GetDS() passieren.</p>
<p>Grüße</p>
<p>BOA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/412603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/412603</guid><dc:creator><![CDATA[BOA]]></dc:creator><pubDate>Wed, 10 Dec 2003 10:22:13 GMT</pubDate></item><item><title><![CDATA[Reply to Variabenübergabe zwischen verschiedenen Klassen (VC++) on Wed, 10 Dec 2003 11:02:34 GMT]]></title><description><![CDATA[<p>Entschuldigung, die #include MsgDlg1 ist in der Artikel.cpp rausgenommen.<br />
Die Wertzuweisung erfolgt nach der Überprüfung der Eingabefelder, bevor ich die neue Eingabeoberfläche öffne. Die Messagebox zeigt mir auch die richtigen Werte an.</p>
<pre><code class="language-cpp">void CDatenDlg::OnBerfassung() 
{
	// TODO: Add your control notification handler code here

	CString str;
	CString str1;
	GetDlgItemText(IDC_EVNR, str);     //Eingabefeld EVNR an str übergeben
	GetDlgItemText(IDC_EBENR, str1);	 //Benutzernummernanzeige

	//Eingabefelder überprüfen
	GetDlgItemText(IDC_EVNR, m_svorgnr);

	//Eingabefeld überprüfen
	GetDlgItemText(IDC_EBENR, m_sbennr);

	if (m_svorgnr.GetLength()&lt;=0 || m_svorgnr&lt;&quot;0000000001&quot;) //Eingabelänge &amp; Textinhalt

	{
		MessageBox(_T(&quot;Bitte korrekte Vorgangsnummer eingeben!&quot;));
		GetDlgItem(IDC_EVNR)-&gt;SetFocus();					//Cursor auf Eingabefeld setzen

	}
	else 

		if (m_sbennr.GetLength()&lt;=0 || m_sbennr&lt;&quot;0000000001&quot;)

		{
			MessageBox(_T(&quot;Bitte korrekte Benutzernummer eingeben!&quot;));
			GetDlgItem(IDC_EBENR)-&gt;SetFocus();
		}

	else 

	{
		m_dMsgDlg.m_dMsgDlg1.Artikel.vorgang=m_svorgnr;
		MessageBox(m_dMsgDlg.m_dMsgDlg1.Artikel.vorgang);
		m_dMsgDlg.m_dMsgDlg1.Artikel.benutzer=m_sbennr;
		MessageBox(m_dMsgDlg.m_dMsgDlg1.Artikel.benutzer);

		m_dMsgDlg.DoModal();	//Dialogfenster Artikel erstellen
	}

	UpdateData(FALSE);
}
</code></pre>
<p>Die Funktion GetDS() wird dann erst in der Ausgabeoberfläche gebraucht und aufgerufen. (Erst nachdem alle 5 Felder eingegeben, überprüft und der Wert übernommen werden sollte.)<br />
mfg motorbine</p>
]]></description><link>https://www.c-plusplus.net/forum/post/412627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/412627</guid><dc:creator><![CDATA[motorbine]]></dc:creator><pubDate>Wed, 10 Dec 2003 11:02:34 GMT</pubDate></item></channel></rss>