<?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[Progressbar in Klasse verursacht Laufzeitfehler]]></title><description><![CDATA[<p>Servus, hab ein Problem.<br />
Wenn ich folgenden Code (unterstrichen) in eine Klasse einbinde, produziert er mir einen Laufzeitfehler, binde ich diesen Source direkt &quot;in einen&quot; Button ein funktionierts tadellos. Jemand ne Ahnung woran es liegen könnte, thx!</p>
<pre><code>void CLogik::berechne()
{
 //zahlen[16] - sind die vorhandenen Zahlen eingegeben
 //moeglich - Anzahl der entstandene Möglichkeiten
 //zahl - Anzahl der eingegebenen Zahlen
 char zeichen[4] = {'+','-','*','/'};
 int i,j,k,l;
 double ergebnis,pie;
 // aktuell[15] enthält alle die aktuelle Zeichenfolge von +,-,*,/
 // Alle möglichen Kombinationen von + - etc an den entsprechenden Stellen
  [u]Form1-&gt;ProgressBar1-&gt;StepBy(1);[/u]
  [u]Form1-&gt;ProgressBar1-&gt;Position=0;[/u]
  [u]Form1-&gt;ProgressBar1-&gt;Max=moeglich;[/u]
 for (i=0;i&lt;moeglich;i++){
   [u]Form1-&gt;ProgressBar1-&gt;StepIt();[/u]

 }
  aktuell[0]='+';aktuell[1]='*'; aktuell[2]='*';
 ergebnis=rechnen();
 ergebniss=ergebniss+'='+FloatToStr(ergebnis);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/165010/progressbar-in-klasse-verursacht-laufzeitfehler</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 16:11:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165010.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Nov 2006 18:08:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Progressbar in Klasse verursacht Laufzeitfehler on Tue, 14 Nov 2006 18:08:50 GMT]]></title><description><![CDATA[<p>Servus, hab ein Problem.<br />
Wenn ich folgenden Code (unterstrichen) in eine Klasse einbinde, produziert er mir einen Laufzeitfehler, binde ich diesen Source direkt &quot;in einen&quot; Button ein funktionierts tadellos. Jemand ne Ahnung woran es liegen könnte, thx!</p>
<pre><code>void CLogik::berechne()
{
 //zahlen[16] - sind die vorhandenen Zahlen eingegeben
 //moeglich - Anzahl der entstandene Möglichkeiten
 //zahl - Anzahl der eingegebenen Zahlen
 char zeichen[4] = {'+','-','*','/'};
 int i,j,k,l;
 double ergebnis,pie;
 // aktuell[15] enthält alle die aktuelle Zeichenfolge von +,-,*,/
 // Alle möglichen Kombinationen von + - etc an den entsprechenden Stellen
  [u]Form1-&gt;ProgressBar1-&gt;StepBy(1);[/u]
  [u]Form1-&gt;ProgressBar1-&gt;Position=0;[/u]
  [u]Form1-&gt;ProgressBar1-&gt;Max=moeglich;[/u]
 for (i=0;i&lt;moeglich;i++){
   [u]Form1-&gt;ProgressBar1-&gt;StepIt();[/u]

 }
  aktuell[0]='+';aktuell[1]='*'; aktuell[2]='*';
 ergebnis=rechnen();
 ergebniss=ergebniss+'='+FloatToStr(ergebnis);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1174685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174685</guid><dc:creator><![CDATA[blazer1981]]></dc:creator><pubDate>Tue, 14 Nov 2006 18:08:50 GMT</pubDate></item><item><title><![CDATA[Reply to Progressbar in Klasse verursacht Laufzeitfehler on Tue, 14 Nov 2006 19:14:02 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>binde ich diesen Source direkt &quot;in einen&quot; Button ein</p>
</blockquote>
<p>Damit meinst du wohl, das du den Code in einer automatisch erstellte Eventmethode eines Buttons stehen hast.</p>
<blockquote>
<p>Wenn ich folgenden Code (unterstrichen) in eine Klasse einbinde</p>
</blockquote>
<p>Auch TForm ist eine Klasse, die Button-Eventmethode eine Klassenmethode.</p>
<p>Vermutlitlich greifst du mit Form1 auf ungültigen Speicher, weil dem Zeiger den du in der Klasse CLogik verwendest, keine gültige Instanz von TForm zugewiesen wurde.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174703</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Tue, 14 Nov 2006 19:14:02 GMT</pubDate></item><item><title><![CDATA[Reply to Progressbar in Klasse verursacht Laufzeitfehler on Tue, 14 Nov 2006 19:18:35 GMT]]></title><description><![CDATA[<p>ok, klingt ganz gut!</p>
<p>kannst du das auch für mich übersetzen... <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="🙂"
    /> hier noch meine Klasse und thx<br />
stehe nämlich noch an den anfängen von c++</p>
<pre><code class="language-cpp">class CLogik
{
 public:
  CLogik(){ergebniss=&quot;&quot;;};
  ~CLogik(){};
  long int sollwert,moeglich,zahl;
  AnsiString eingabe;
  AnsiString ergebniss;
  void const ausfuehren(){vorbereitung();};
 private:
  double zahlen[16];
  char aktuell[15];
  void berechne();
  void vorbereitung();
  long int moeglichkeiten();
  double rechnen();
  double addiere(double x, double y){return (x+y);};
  double subtrahiere(double x, double y){return (x-y);};
  double multipliziere(double x, double y){return (x*y);};
  double dividiere(double x, double y){return (x/y);};
 // long mod(long a, long b){};
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1174710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174710</guid><dc:creator><![CDATA[blazer1981]]></dc:creator><pubDate>Tue, 14 Nov 2006 19:18:35 GMT</pubDate></item><item><title><![CDATA[Reply to Progressbar in Klasse verursacht Laufzeitfehler on Tue, 14 Nov 2006 20:00:47 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>was soll ich noch dazu sagen? Lerne erstmal die Grundlagen von C++, insbesondere <a href="http://tutorial.schornboeck.net/oop.htm" rel="nofollow">OOP</a> komplett, und arbeite mit dem <a href="http://www.junix.ch/bcb/help/debug.html" rel="nofollow">Debugger</a> um Ort und Grund des Zugriffsfehler herauszufinden.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174752</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Tue, 14 Nov 2006 20:00:47 GMT</pubDate></item><item><title><![CDATA[Reply to Progressbar in Klasse verursacht Laufzeitfehler on Tue, 14 Nov 2006 20:06:15 GMT]]></title><description><![CDATA[<p>ist es jetzt sehr komplex einen text zu schreiben, der mir das benutzen der progressbar ermöglicht?</p>
<p>nebenbei, ich les grad an zwei büchern, aber so schnell geht es alles nicht und ich würde mich um hilfe freuen.</p>
<p>Die dauernden sprüche &quot;finds selbst raus&quot;... sind unterstes niveau. ich persönlich versuche immer eine verwertbare antwort zu geben wenn ich mich besser auskenne, d.h. auch mal eine Lösung angeben, damit der jenige weiss wo er falsch angesetzt hat.</p>
<p>schließlich lernt man nur ein programmiersprache, wenn man diese auch anwendet. das sollte sogar einem profi klar sein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174757</guid><dc:creator><![CDATA[blazer1981]]></dc:creator><pubDate>Tue, 14 Nov 2006 20:06:15 GMT</pubDate></item><item><title><![CDATA[Reply to Progressbar in Klasse verursacht Laufzeitfehler on Tue, 14 Nov 2006 22:34:38 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>ist es jetzt sehr komplex einen text zu schreiben, der mir das benutzen der progressbar ermöglicht?</p>
</blockquote>
<p>Nein, denn rein syntaktisch ist dein geposteter Code schon richtig und ausreichend.</p>
<blockquote>
<p>Die dauernden sprüche &quot;finds selbst raus&quot;... sind unterstes niveau. ich persönlich versuche immer eine verwertbare antwort zu geben wenn ich mich besser auskenne, d.h. auch mal eine Lösung angeben, damit der jenige weiss wo er falsch angesetzt hat.</p>
</blockquote>
<p>Du hast meinen letzen Post falsch verstanden. Ich meinte, das ich aufgrund dem von dir geposteten Code keinen Fehler finden kann, und habe dich deshlab auf Möglichkeiten hingewiesen, den Fehler im restlichen Dode selbst zu finden (Debugger).</p>
<blockquote>
<p>schließlich lernt man nur ein programmiersprache, wenn man diese auch anwendet. das sollte sogar einem profi klar sein</p>
</blockquote>
<p>Vollkommen richtig. Und wenn man dabei immer mal wieder in die Doku schaut und Fachstoff liest, wird man auch immer besser. Auch wenns manchmal viel Zeit kostet, bis ein Problem geklärt ist.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174801</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Tue, 14 Nov 2006 22:34:38 GMT</pubDate></item><item><title><![CDATA[Reply to Progressbar in Klasse verursacht Laufzeitfehler on Wed, 15 Nov 2006 12:10:54 GMT]]></title><description><![CDATA[<p>k, wens interessiert. um aus eine klasse heraus auf die komponenten der form1 zuzugreifen einfach ausserhalb der klasse folgende Ziele einfügen</p>
<pre><code class="language-cpp">extern TForm1 *Form1;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1175125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175125</guid><dc:creator><![CDATA[blazer1981]]></dc:creator><pubDate>Wed, 15 Nov 2006 12:10:54 GMT</pubDate></item><item><title><![CDATA[Reply to Progressbar in Klasse verursacht Laufzeitfehler on Wed, 15 Nov 2006 15:18:21 GMT]]></title><description><![CDATA[<p>Ja, wenn Du gleich gesagt hättest, dass sich die Klasse in einer eigenen Unit befindet... akari hatte es wohl vermutet, deshalb der Hinweis auf die Form1.</p>
<p>Prinzipiell funktioniert das so, da Form1 bereits eine globale Variable ist.</p>
<p>Allerdings wäre es vermutlich sinnvoller, der Klasseninstanz einen Zeiger auf die ProgressBar zu spendieren und diesen z.B. im Konstruktor der Klasse, als Parameter übergeben und setzen. Dies hätte den Vorteil, dass das ganze nicht nur mit Form1 funktioniert, sondern mit jedem beliebigen Formular, auf der sich eine oder auch mehrere ProgressBar befinden. Jeder Klasseninstanz ließe sich dann eine eigene ProgressBar zuweisen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175306</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 15 Nov 2006 15:18:21 GMT</pubDate></item><item><title><![CDATA[Reply to Progressbar in Klasse verursacht Laufzeitfehler on Wed, 15 Nov 2006 18:15:14 GMT]]></title><description><![CDATA[<p>könntest du ein Beispiel geben? thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175421</guid><dc:creator><![CDATA[blazer1981]]></dc:creator><pubDate>Wed, 15 Nov 2006 18:15:14 GMT</pubDate></item><item><title><![CDATA[Reply to Progressbar in Klasse verursacht Laufzeitfehler on Wed, 15 Nov 2006 19:59:30 GMT]]></title><description><![CDATA[<p>Hallo</p>
<pre><code class="language-cpp">class CLogik
{
 public:
  CLogik(){ergebniss=&quot;&quot;;};
  ~CLogik(){};
  long int sollwert,moeglich,zahl;
  AnsiString eingabe;
  AnsiString ergebniss;
  void const ausfuehren(){vorbereitung();};
  TProgressBar* progress; // kannst du auch als private machen, mit Getter und Setter
 private:
  double zahlen[16];
  char aktuell[15];
  void berechne();
  void vorbereitung();
  long int moeglichkeiten();
  double rechnen();
  double addiere(double x, double y){return (x+y);};
  double subtrahiere(double x, double y){return (x-y);};
  double multipliziere(double x, double y){return (x*y);};
  double dividiere(double x, double y){return (x/y);};
 // long mod(long a, long b){};
};

//innerhalb des aufrufenden Forms, mit der ProgressBar
CLogik logik = ...;
logik.progress = ProgressBar1; // Konkrete Instanz zuweisen

// Verwenden innerhalb der Klasse
void CLogik::berechne()
{
  ...
  progress-&gt;StepBy(1);
  ...
}
</code></pre>
<p>Das ist nur ein Minimalbeispiel. Wichtig wäre noch, im Konstruktor progress zu initialisieren. Entweder gleich mit einer gültigen Instanz via Parameter, oder mit NULL.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175479</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 15 Nov 2006 19:59:30 GMT</pubDate></item><item><title><![CDATA[Reply to Progressbar in Klasse verursacht Laufzeitfehler on Thu, 16 Nov 2006 09:54:17 GMT]]></title><description><![CDATA[<p>klasse thx, werds mal probieren***</p>
<p>works great..... kann ich jedem nur empfehlen... erspart nach den definitionen jede menge schreibarbeit <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/1175730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175730</guid><dc:creator><![CDATA[blazer1981]]></dc:creator><pubDate>Thu, 16 Nov 2006 09:54:17 GMT</pubDate></item><item><title><![CDATA[Reply to Progressbar in Klasse verursacht Laufzeitfehler on Thu, 16 Nov 2006 11:33:45 GMT]]></title><description><![CDATA[<p>Nun ja, mehr oder weniger Tipparbeit ist da gar nicht der große Vorteil, sondern eher die Wiederverwendbarkeit und einfachere Pflege.</p>
<p>Das wäre eben ein Problem deiner ersten Version gewesen. Ein einfaches umbenennen des Hauptformulars hätte dazu geführt, dass Du in der Klasse CLogik Anpassungen hättest durchführen müssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175855</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 16 Nov 2006 11:33:45 GMT</pubDate></item></channel></rss>