<?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[Objekt aus einem Dialog(Klasse) in den anderen Dialog(Klasse) übergeben]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe versucht aus der einen Klasse ein Objekt an den Konstruktor einer anderen klasse zu übergeben, jedoch scheitert irgendwie das Ganze und ich weiss nicht warum...<br />
hier ist nochmal der Code</p>
<p><strong>Konstruktor</strong></p>
<pre><code class="language-cpp">CUserMatch::CUserMatch(ISaGsaRpConnection mRpConnection, CWnd* pParent)
	: CDialog(CUserMatch::IDD, pParent)
{

	//{{AFX_DATA_INIT(CUserMatch)
	m_MFilePath = _T(&quot;&quot;);
	RpConnection = mRpConnection; //&lt;------------darf man sowas überhaupt?
	//}}AFX_DATA_INIT
}
</code></pre>
<p><strong>Aufruf des Konstruktors und des Dialogfensters</strong></p>
<pre><code class="language-cpp">void CUserDlg::OnMatchUser() 
{
         ISaGsaRpConnection RpConnection;
         ...
         ...
         ...
	CUserMatch mDlg = new CUserMatch(RpConnection, NULL);
	mDlg.DoModal();
}
</code></pre>
<p>Hat jemand einen guten Rat für mich?</p>
<p>Gruss,</p>
<p>chullain</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/79665/objekt-aus-einem-dialog-klasse-in-den-anderen-dialog-klasse-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 02:03:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/79665.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Jul 2004 14:27:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objekt aus einem Dialog(Klasse) in den anderen Dialog(Klasse) übergeben on Tue, 13 Jul 2004 14:27:41 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe versucht aus der einen Klasse ein Objekt an den Konstruktor einer anderen klasse zu übergeben, jedoch scheitert irgendwie das Ganze und ich weiss nicht warum...<br />
hier ist nochmal der Code</p>
<p><strong>Konstruktor</strong></p>
<pre><code class="language-cpp">CUserMatch::CUserMatch(ISaGsaRpConnection mRpConnection, CWnd* pParent)
	: CDialog(CUserMatch::IDD, pParent)
{

	//{{AFX_DATA_INIT(CUserMatch)
	m_MFilePath = _T(&quot;&quot;);
	RpConnection = mRpConnection; //&lt;------------darf man sowas überhaupt?
	//}}AFX_DATA_INIT
}
</code></pre>
<p><strong>Aufruf des Konstruktors und des Dialogfensters</strong></p>
<pre><code class="language-cpp">void CUserDlg::OnMatchUser() 
{
         ISaGsaRpConnection RpConnection;
         ...
         ...
         ...
	CUserMatch mDlg = new CUserMatch(RpConnection, NULL);
	mDlg.DoModal();
}
</code></pre>
<p>Hat jemand einen guten Rat für mich?</p>
<p>Gruss,</p>
<p>chullain</p>
]]></description><link>https://www.c-plusplus.net/forum/post/559717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/559717</guid><dc:creator><![CDATA[chullain]]></dc:creator><pubDate>Tue, 13 Jul 2004 14:27:41 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt aus einem Dialog(Klasse) in den anderen Dialog(Klasse) übergeben on Tue, 13 Jul 2004 14:47:11 GMT]]></title><description><![CDATA[<p>chullain schrieb:</p>
<blockquote>
<p>Hallo,</p>
<pre><code class="language-cpp">void CUserDlg::OnMatchUser() 
{
...
	CUserMatch mDlg = new CUserMatch(RpConnection, this);
	mDlg.DoModal();
}
</code></pre>
</blockquote>
<p>this statt NULL. Der Zeiger ist nicht umsonst vom typ CWnd* ... <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>
<p>Devil</p>
]]></description><link>https://www.c-plusplus.net/forum/post/559739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/559739</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Tue, 13 Jul 2004 14:47:11 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt aus einem Dialog(Klasse) in den anderen Dialog(Klasse) übergeben on Wed, 14 Jul 2004 12:43:09 GMT]]></title><description><![CDATA[<p>Das habe ich jetzt soweit gemacht, trotzdem wird das Objekt nicht richtig übergeben und das Programm bricht ab, sobald ich in der erzeugten Klasse mit dem übergebenen Objekt arbeiten möchte. Mit der Debuger-Funtion konnte ich herausfinden, dass verscheidene Speicheradressen an das Objekt übergeben werden, zuerst wird eine richtige übergeben, dann später erscheint da eine völlig falsche Speicheradresse...vielleicht kann ich das anhand von Stückchen Code etwas deutlicher machen...</p>
<p><strong>der Aufruf des Dialogfensters aus der ersten Klasse</strong></p>
<pre><code class="language-cpp">void CUserDlg::OnMatchUser() 
{
	CUserMatch mDlg = new CUserMatch(*users, this);
	mDlg.DoModal();
}
</code></pre>
<p><strong>...dann übergibt der Konstruktor des erzeugten Objektes die Variable von Typ SAFEARRAY an die &quot;klasseninterne&quot; Variable</strong></p>
<pre><code class="language-cpp">CUserMatch::CUserMatch(SAFEARRAY mUsers, CWnd* pParent)
	: CDialog(CUserMatch::IDD, pParent)
{
	//{{AFX_DATA_INIT(CUserMatch)
	m_MFilePath = _T(&quot;&quot;);
	users = &amp;mUsers;
	//}}AFX_DATA_INIT
}
</code></pre>
<p><strong>...als nächstes versuche ich in der erstellten Klasse nach einem Button-Druck auf das übergebene Objekt zuzugreifen und da bricht er ab...</strong></p>
<pre><code class="language-cpp">void CUserMatch::OnMatch() 
{

		/*Get all users.
		avobjUsers = RpTransaction.GetObjectsOfType(&quot;Principal&quot;);
		users = avobjUsers.parray;
		*/

		//Check the Dimension of the Array
		if ( SafeArrayGetDim(users) != 1 )//hier erfolgt der Abbruch
		AfxMessageBox(E_INVALIDARG); 
...
...
...
</code></pre>
<p>Die Fehlermeldung heisst dann in etwa: Die Anweisung in &quot;..........&quot; verweist auf den Speicher&quot;......&quot;. Der Vorgang &quot;read&quot; konnte nicht ausgeführt werden.</p>
<p>Was könnte da der Fehler sein? Kann mir bitte eienr helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/560421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/560421</guid><dc:creator><![CDATA[chullain]]></dc:creator><pubDate>Wed, 14 Jul 2004 12:43:09 GMT</pubDate></item></channel></rss>