<?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[OnClick Ereignis um Parameter erweitern]]></title><description><![CDATA[<p>Hallo Community,</p>
<p>Ich möchte einem OnClick Ereignis noch ein paar Parameter mitgeben.</p>
<pre><code>Form1-&gt;Button1-&gt;OnClick = StarteMessung(15,10)
</code></pre>
<p>Habe nun meinen Code in der Headerdatei folgendermaßen erweitert:</p>
<pre><code>void __fastcall StartMessung(int Anzahl, int Messschritt, TObject *tmpSender);
</code></pre>
<p>Bekomme nun natürlich die Fehlermeldung, daß ich zu wenige Parameter Aufrufe:</p>
<p>[C++ Fehler] Grundbild.cpp(643): E2193 Zu wenige Parameter im Aufruf von '_fastcall TForm1::StartMessung(int,int,TObject *)'</p>
<p>Aber was muß ich für TObject eintragen?</p>
<p>Habe es mit <strong>this</strong> probiert oder mit tmpSender, aber beides ging nicht. Hat mir jemand einen Tip, was ich eintragen muß, oder wo ich das nachlesen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/201018/onclick-ereignis-um-parameter-erweitern</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 02:33:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/201018.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 23 Dec 2007 09:31:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to OnClick Ereignis um Parameter erweitern on Sun, 23 Dec 2007 09:31:14 GMT]]></title><description><![CDATA[<p>Hallo Community,</p>
<p>Ich möchte einem OnClick Ereignis noch ein paar Parameter mitgeben.</p>
<pre><code>Form1-&gt;Button1-&gt;OnClick = StarteMessung(15,10)
</code></pre>
<p>Habe nun meinen Code in der Headerdatei folgendermaßen erweitert:</p>
<pre><code>void __fastcall StartMessung(int Anzahl, int Messschritt, TObject *tmpSender);
</code></pre>
<p>Bekomme nun natürlich die Fehlermeldung, daß ich zu wenige Parameter Aufrufe:</p>
<p>[C++ Fehler] Grundbild.cpp(643): E2193 Zu wenige Parameter im Aufruf von '_fastcall TForm1::StartMessung(int,int,TObject *)'</p>
<p>Aber was muß ich für TObject eintragen?</p>
<p>Habe es mit <strong>this</strong> probiert oder mit tmpSender, aber beides ging nicht. Hat mir jemand einen Tip, was ich eintragen muß, oder wo ich das nachlesen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425090</guid><dc:creator><![CDATA[egcactus]]></dc:creator><pubDate>Sun, 23 Dec 2007 09:31:14 GMT</pubDate></item><item><title><![CDATA[Reply to OnClick Ereignis um Parameter erweitern on Sun, 23 Dec 2007 10:45:03 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Das geht nicht, OnClick erwartet immer genau die selber Methode. Du kannst da nicht einfach ein paar zusützliche Parameter eintragen. Du must die zusätzlichen Werte anders übertragen, zum Beispiel mit Membervariablen des Forms.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425103</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 23 Dec 2007 10:45:03 GMT</pubDate></item><item><title><![CDATA[Reply to OnClick Ereignis um Parameter erweitern on Sun, 23 Dec 2007 10:56:34 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
StartMessung(15,10,this);
}
</code></pre>
<p>geht doch einwandfrei, was willst Du genau machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425109</guid><dc:creator><![CDATA[woistmeinpw]]></dc:creator><pubDate>Sun, 23 Dec 2007 10:56:34 GMT</pubDate></item><item><title><![CDATA[Reply to OnClick Ereignis um Parameter erweitern on Sun, 23 Dec 2007 11:06:09 GMT]]></title><description><![CDATA[<p>Schade, das wäre eine einfache Lösung gewesen um meine Parameter gleich in die Funktion zu übergeben.</p>
<p>Werde die Werte in einem Übergeordnetem Datencontainer zwischenspeichern.</p>
<p>Danke für die schnelle Antwort.</p>
<p>Grüße<br />
egcactus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425114</guid><dc:creator><![CDATA[egcactus]]></dc:creator><pubDate>Sun, 23 Dec 2007 11:06:09 GMT</pubDate></item><item><title><![CDATA[Reply to OnClick Ereignis um Parameter erweitern on Sun, 23 Dec 2007 11:11:06 GMT]]></title><description><![CDATA[<p>Ich wollte die Werte zweier Edit Felder aus einem Frame in die Routine übergeben.</p>
<p>Zum einem den Messschritt und die Anzahl der Messungen. Die Werte sind nicht immer gleich, deshalb sollten sie übergeben werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425117</guid><dc:creator><![CDATA[egcactus]]></dc:creator><pubDate>Sun, 23 Dec 2007 11:11:06 GMT</pubDate></item><item><title><![CDATA[Reply to OnClick Ereignis um Parameter erweitern on Sun, 23 Dec 2007 11:28:47 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void __fastcall TForm1::StartMessung(int Anzahl, int Messschritt, TObject *tmpSender)
{
Edit1-&gt;Text=Anzahl;
Edit2-&gt;Text=Messschritt;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
StartMessung(15,10,this);
}
</code></pre>
<p>meinst Du das so?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425125</guid><dc:creator><![CDATA[woistmeinpw]]></dc:creator><pubDate>Sun, 23 Dec 2007 11:28:47 GMT</pubDate></item><item><title><![CDATA[Reply to OnClick Ereignis um Parameter erweitern on Sun, 23 Dec 2007 11:48:01 GMT]]></title><description><![CDATA[<p>Mein Problem, ist genau umgekehrt als du es beschrieben hast.</p>
<p>Ich habe ein Frame mit einer Startfrequenz (Edit1), einer Anzahl an Messungen(Edit2), einem Messschritt(Edit3). In diesem Frame habe ich einen Start Button.</p>
<p>Wenn dieser StartButton betätigt wird (onclick ereignis), rufe ich StartMessung auf.</p>
<p>Ich kann aber in der Funktion StartMessung nicht einfach folgendes ausführen.</p>
<pre><code>int Anz = StrToInt(Frame1-&gt;EditAnzahl-&gt;Text);
</code></pre>
<p>Da er mir eine Fehlermeldung bringt. Zugriffsverletzung bei Adresse ...</p>
<p>Werde mal versuchen die Werte in einem externem Container zwischenzuspeichern und sie dann bei Bedarf abrufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425127</guid><dc:creator><![CDATA[egcactus]]></dc:creator><pubDate>Sun, 23 Dec 2007 11:48:01 GMT</pubDate></item><item><title><![CDATA[Reply to OnClick Ereignis um Parameter erweitern on Sun, 23 Dec 2007 11:54:23 GMT]]></title><description><![CDATA[<p>dann mach es doch so:</p>
<pre><code class="language-cpp">void __fastcall TForm1::StartMessung(int Anzahl, int Messschritt, TObject *tmpSender)
{
//Tu was
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
StartMessung(StrToInt(Edit1-&gt;Text),StrToInt(Edit2-&gt;Text),this);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1425131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425131</guid><dc:creator><![CDATA[woistmeinpw]]></dc:creator><pubDate>Sun, 23 Dec 2007 11:54:23 GMT</pubDate></item><item><title><![CDATA[Reply to OnClick Ereignis um Parameter erweitern on Sun, 23 Dec 2007 12:14:57 GMT]]></title><description><![CDATA[<p>Also die Zugriffsverletzung bleibt gleich.</p>
<p>Ich poste mal den Code:<br />
Grundbild.cpp</p>
<pre><code class="language-cpp">void __fastcall TFormGrundbild::FZweiUOFreqDAB(TObject *Sender)
{
 // Frame FDAB erstellen
 TFZweiUOFreq* FDAB = new TFZweiUOFreq(new TGroupBox(FormGrundbild));

 // Überschrift einblenden
 FDAB-&gt;LZweiUOFreqEinstellung-&gt;Caption = &quot;DAB&quot;;

 // Masseinheit festlegen
 FDAB-&gt;LMasseinheitStartfreq1-&gt;Caption = &quot;MHz&quot;;
 FDAB-&gt;LMasseinheitEndfreq1-&gt;Caption = &quot;MHz&quot;;
 FDAB-&gt;LMasseinheitStartfreq2-&gt;Caption = &quot;MHz&quot;;
 FDAB-&gt;LMasseinheitEndfreq1-&gt;Caption = &quot;MHz&quot;;
 FDAB-&gt;LMasseinheitMessschritt1-&gt;Caption = &quot;MHz&quot;;
 FDAB-&gt;LMasseinheitMessschritt2-&gt;Caption = &quot;MHz&quot;;

 // Frequenzen und Messschritte holen
 FDAB-&gt;EStartfreq1-&gt;Text = FloatToStrF(
                Frequenzeinstellung.DAB.Freq[0].getMinimum(),ffGeneral,6,2);
 FDAB-&gt;EEndfreq1-&gt;Text = FloatToStrF(
                Frequenzeinstellung.DAB.Freq[0].getMaximum(),ffGeneral,6,2);
 FDAB-&gt;EMessschritt1-&gt;Text = FloatToStrF(
                Frequenzeinstellung.DAB.Freq[0].getMessschritt(),ffGeneral,6,2);
 FDAB-&gt;EStartfreq2-&gt;Text = FloatToStrF(
                Frequenzeinstellung.DAB.Freq[1].getMinimum(),ffGeneral,6,2);
 FDAB-&gt;EEndfreq2-&gt;Text = FloatToStrF(
                Frequenzeinstellung.DAB.Freq[1].getMaximum(),ffGeneral,6,2);
 FDAB-&gt;EMessschritt2-&gt;Text = FloatToStrF(
                Frequenzeinstellung.DAB.Freq[1].getMessschritt(),ffGeneral,6,2);

 // Anzahl Messungen holen
 FDAB-&gt;EAnzahl1-&gt;Text = IntToStr(Frequenzeinstellung.DAB.Freq[0].getAnzahl());
 FDAB-&gt;EAnzahl2-&gt;Text = IntToStr(Frequenzeinstellung.DAB.Freq[1].getAnzahl());

 // Position bestimmen
 FDAB-&gt;SetBounds(0,ControlBar1-&gt;Height,FormGrundbild-&gt;ClientWidth,220);

 // Rahmen im Frame anpassen
 FDAB-&gt;Bevel1-&gt;Width = ClientWidth -16;

 // Rahmen positionieren
 FDAB-&gt;Bevel1-&gt;Left = 8;

 // Frame anzeigen
 FDAB-&gt;Show();

 // Zugehörigkeit zum Grundbild festlegen
 FDAB-&gt;Parent = FormGrundbild;

 // Messung Starten
 FDAB-&gt;BStart-&gt;OnClick = StartMessungDAB1;

 // Frames ausblenden
 FDAB-&gt;BAbbrechen-&gt;OnClick = FInVisible;
}
</code></pre>
<p>In diesem Abschnitt tritt schon die Zugriffsverletzung auf</p>
<pre><code class="language-cpp">void __fastcall TFormGrundbild::StartMessungDAB1(TObject *Sender)
{
StartMessungDAB(StrToInt(FDAB-&gt;EAnzahl1-&gt;Text),StrToFloat(FDAB-&gt;EMessschritt1-&gt;Text),this);
}
</code></pre>
<p>Hier werden Standardabweichung, Mittelwert ... berechnet. Formeln stimmen, aber da ich noch die Anzahl der Messungen und die Messschritte berücksichtigen muß, passt das noch nicht mit den Messungen überein. mache das gerade nur mit ein paar Beispielwerten.</p>
<pre><code class="language-cpp">void __fastcall TFormGrundbild::StartMessungDAB(int Anzahl, float Messchritt, TObject *Sender)
{
 // Überschrift einfügen
 RichEdit1-&gt;Lines-&gt;Add(&quot;Messung DAB&quot;);

 // Messwerte löschen
 Messung-&gt;DAB[0].Wert.clear();
 Messung-&gt;DAB[1].Wert.clear();

 // Beispiel zum Füllen mit Messwerten------------------------
 for(int i=1; i&lt;4; i++)
        {
         Messung-&gt;DAB[0].Wert.push_back((i));
         Messung-&gt;DAB[1].Wert.push_back((i));
        }
  //----------------------------------------------------------

 Messung-&gt;DAB[0].berechneWerte();       // Aufruf Berechnungsfunktion
 Messung-&gt;DAB[1].berechneWerte();       // Aufruf Berechnungsfunktion

 // Ausgabe in RichEdit Feld
 RichEdit1-&gt;Lines-&gt;Add(&quot;Anzahl Messungen: &quot; + FloatToStr(Messung-&gt;DAB[0].getAnzahl()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Summe Messwerte: &quot; + FloatToStr(Messung-&gt;DAB[0].getSumme()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Quadratsumme: &quot; + FloatToStr(Messung-&gt;DAB[0].getQuadratsumme()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Mittelwert: &quot; + FloatToStr(Messung-&gt;DAB[0].getMittelwert()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Quadratmittelwert: &quot; + FloatToStr(Messung-&gt;DAB[0].getQuadratmittelwert()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Standardabweichung: &quot; + FloatToStr(Messung-&gt;DAB[0].getStandardabweichung()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Standardabweichung(n-1): &quot; + FloatToStr(Messung-&gt;DAB[0].getStandardabweichung1()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Varianz: &quot; + FloatToStr(Messung-&gt;DAB[0].getVarianz()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;1Sigma: &quot; + FloatToStr(Messung-&gt;DAB[0].get_1sig()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;2Sigma: &quot; + FloatToStr(Messung-&gt;DAB[0].get_2sig()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;3Sigma: &quot; + FloatToStr(Messung-&gt;DAB[0].get_3sig()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;RMS: &quot; + FloatToStr(Messung-&gt;DAB[0].getRMS()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Minimalwert: &quot; + FloatToStr(Messung-&gt;DAB[0].getMIN()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Maximalwert: &quot; + FloatToStr(Messung-&gt;DAB[0].getMAX()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Maximaler Betrag: &quot; + FloatToStr(Messung-&gt;DAB[0].getAMAX()));

 RichEdit1-&gt;Lines-&gt;Add(&quot;Anzahl Messungen: &quot; + FloatToStr(Messung-&gt;DAB[1].getAnzahl()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Summe Messwerte: &quot; + FloatToStr(Messung-&gt;DAB[1].getSumme()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Quadratsumme: &quot; + FloatToStr(Messung-&gt;DAB[1].getQuadratsumme()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Mittelwert: &quot; + FloatToStr(Messung-&gt;DAB[1].getMittelwert()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Quadratmittelwert: &quot; + FloatToStr(Messung-&gt;DAB[1].getQuadratmittelwert()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Standardabweichung: &quot; + FloatToStr(Messung-&gt;DAB[1].getStandardabweichung()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Standardabweichung(n-1): &quot; + FloatToStr(Messung-&gt;DAB[1].getStandardabweichung1()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Varianz: &quot; + FloatToStr(Messung-&gt;DAB[1].getVarianz()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;1Sigma: &quot; + FloatToStr(Messung-&gt;DAB[1].get_1sig()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;2Sigma: &quot; + FloatToStr(Messung-&gt;DAB[1].get_2sig()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;3Sigma: &quot; + FloatToStr(Messung-&gt;DAB[1].get_3sig()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;RMS: &quot; + FloatToStr(Messung-&gt;DAB[1].getRMS()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Minimalwert: &quot; + FloatToStr(Messung-&gt;DAB[1].getMIN()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Maximalwert: &quot; + FloatToStr(Messung-&gt;DAB[1].getMAX()));
 RichEdit1-&gt;Lines-&gt;Add(&quot;Maximaler Betrag: &quot; + FloatToStr(Messung-&gt;DAB[1].getAMAX()));

}
//---------------------------------------------------------------------------
</code></pre>
<p>Grundbild.h<br />
Diese Zwei zeilen Stehen in der Headerdatei</p>
<pre><code class="language-cpp">void __fastcall StartMessungDAB1(TObject *tmpSender);
        void __fastcall StartMessungDAB(int Anzahl, float Messchritt, TObject *tmpSender);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1425140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425140</guid><dc:creator><![CDATA[egcactus]]></dc:creator><pubDate>Sun, 23 Dec 2007 12:14:57 GMT</pubDate></item><item><title><![CDATA[Reply to OnClick Ereignis um Parameter erweitern on Sun, 23 Dec 2007 12:31:36 GMT]]></title><description><![CDATA[<p>warum hast du im header *tmpSender und in der Methode *Sender?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425150</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425150</guid><dc:creator><![CDATA[woistmeinpw]]></dc:creator><pubDate>Sun, 23 Dec 2007 12:31:36 GMT</pubDate></item><item><title><![CDATA[Reply to OnClick Ereignis um Parameter erweitern on Sun, 23 Dec 2007 12:38:47 GMT]]></title><description><![CDATA[<p>Das war nur ausversehen. Hatte das zuerst so gemacht, um mir eine Denkhilfe zu setzen, das das ein temporärer Aufruf ist.</p>
<p>Hat aber keinen Einfluss auf die Zugriffsverletzung. Habe ich abgeändert. Fehler bleibt gleich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425154</guid><dc:creator><![CDATA[egcactus]]></dc:creator><pubDate>Sun, 23 Dec 2007 12:38:47 GMT</pubDate></item><item><title><![CDATA[Reply to OnClick Ereignis um Parameter erweitern on Fri, 28 Dec 2007 09:19:40 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Geh erstmal mit dem Debugger durch und versuche herauszubekommen wo die Zugriffsverletzung auftritt. Weiterhin würde ich Show erst nach dem Setzen des Parents aufrufen. Woher soll dein Frame denn da schon wissen wo es gezeichnet werden soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1427127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427127</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 28 Dec 2007 09:19:40 GMT</pubDate></item></channel></rss>