<?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[Instanziierung TTimer in Execute von TThread]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe im Header eine Membervariable vom Typ TTimer* mAliveTimer deklariert.<br />
Will ich den Timer in der Methode Execute() instanziieren, läuft dieser Timer nie ab, also OnTimer wird nicht ausgelöst.<br />
Instanziiere ich den Timer im Konstruktor arbeitet der Timer fehlerfrei.</p>
<p>Kennt jemand dieses Phänomen und hat eine Erklärung dafür?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/196640/instanziierung-ttimer-in-execute-von-tthread</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 14:04:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/196640.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 Nov 2007 08:19:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Instanziierung TTimer in Execute von TThread on Thu, 01 Nov 2007 08:19:20 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe im Header eine Membervariable vom Typ TTimer* mAliveTimer deklariert.<br />
Will ich den Timer in der Methode Execute() instanziieren, läuft dieser Timer nie ab, also OnTimer wird nicht ausgelöst.<br />
Instanziiere ich den Timer im Konstruktor arbeitet der Timer fehlerfrei.</p>
<p>Kennt jemand dieses Phänomen und hat eine Erklärung dafür?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1395725</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395725</guid><dc:creator><![CDATA[Kernel386]]></dc:creator><pubDate>Thu, 01 Nov 2007 08:19:20 GMT</pubDate></item><item><title><![CDATA[Reply to Instanziierung TTimer in Execute von TThread on Thu, 01 Nov 2007 08:37:54 GMT]]></title><description><![CDATA[<p>etwas Quellcode wäre nicht schlecht, ansonsten isses das berühmte Glaskugelraten ... aber von Threadunverträglichkeit hab ich so noch nichts bemerkt als ich mal sowas gemacht habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1395731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395731</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Thu, 01 Nov 2007 08:37:54 GMT</pubDate></item><item><title><![CDATA[Reply to Instanziierung TTimer in Execute von TThread on Thu, 01 Nov 2007 10:08:37 GMT]]></title><description><![CDATA[<p>so funktiniert es:</p>
<pre><code class="language-cpp">__fastcall NodeProxy::NodeProxy(...
{
...
    Priority = tpNormal;
    mAliveTimer = new TTimer(NULL);
}

void __fastcall NodeProxy::Execute()
{
...
    mAliveTimer-&gt;Interval = 5000;
    mAliveTimer-&gt;Enabled = true;
    mAliveTimer-&gt;OnTimer = &amp;timeoutAlive;
...
}
</code></pre>
<p>so nicht:</p>
<pre><code class="language-cpp">void __fastcall NodeProxy::Execute()
{
...
    mAliveTimer = new TTimer(NULL);
    mAliveTimer-&gt;Interval = 5000;
    mAliveTimer-&gt;Enabled = true;
    mAliveTimer-&gt;OnTimer = &amp;timeoutAlive;
...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1395767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395767</guid><dc:creator><![CDATA[Kernel386]]></dc:creator><pubDate>Thu, 01 Nov 2007 10:08:37 GMT</pubDate></item><item><title><![CDATA[Reply to Instanziierung TTimer in Execute von TThread on Thu, 01 Nov 2007 10:50:42 GMT]]></title><description><![CDATA[<p>Kernel386 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">mAliveTimer-&gt;OnTimer = &amp;timeoutAlive;
</code></pre>
</blockquote>
<p>TTimer::OnTimer ist ein Closure, d.h. ein Methodenzeiger, der sowohl Objekt als auch Methode speichert. Dementsprechend mußt du ihn zuweisen:</p>
<pre><code class="language-cpp">mAliveTimer-&gt;OnTimer = this-&gt;timeoutAlive;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1395793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395793</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Thu, 01 Nov 2007 10:50:42 GMT</pubDate></item><item><title><![CDATA[Reply to Instanziierung TTimer in Execute von TThread on Thu, 01 Nov 2007 11:39:34 GMT]]></title><description><![CDATA[<p>huh (O_o) ich hab den &quot;this&quot; immer pauschal dazugeschrieben ... fügt der konstruktor den objekt link denn automatisch mit ein im gegensatz zu einer aufgerufenen methode ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1395816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395816</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Thu, 01 Nov 2007 11:39:34 GMT</pubDate></item><item><title><![CDATA[Reply to Instanziierung TTimer in Execute von TThread on Thu, 01 Nov 2007 12:00:31 GMT]]></title><description><![CDATA[<p>Nicht daß ich wüßte. Ich weiß nicht, weshalb es dort funktioniert hat und weshalb der Compiler obige Syntax akzeptiert.</p>
<p>Funktioniert es jetzt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1395824</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395824</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Thu, 01 Nov 2007 12:00:31 GMT</pubDate></item><item><title><![CDATA[Reply to Instanziierung TTimer in Execute von TThread on Thu, 01 Nov 2007 12:35:56 GMT]]></title><description><![CDATA[<p>Hallo audacia,</p>
<p>ich habe deine vorgeschlagene Änderung durchgeführt. Sorry mein Fehler, war mir gar nicht aufgefallen.<br />
Wir haben mal eine Klasse geschrieben, welche es uns ermöglicht TTimer auch in ganz normalen Klassen zu verwenden. Daher war das &amp; und noch übrig geblieben. Die hatte ich erst verwendet.<br />
Zum Thema zurück. Sobald ich</p>
<pre><code>mAliveTimer = new TTimer(NULL);
</code></pre>
<p>nach Execute verpflanze läuft der Timer nicht mehr, auch mit der Änderung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1395840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395840</guid><dc:creator><![CDATA[Kernel386]]></dc:creator><pubDate>Thu, 01 Nov 2007 12:35:56 GMT</pubDate></item><item><title><![CDATA[Reply to Instanziierung TTimer in Execute von TThread on Thu, 01 Nov 2007 20:35:07 GMT]]></title><description><![CDATA[<p>aber du instantiierst nicht zyklisch mit deiner execute schleife neu oder?<br />
ih frag nur weil dein code ziemlich viel auskommentiert hat</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396085</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Thu, 01 Nov 2007 20:35:07 GMT</pubDate></item><item><title><![CDATA[Reply to Instanziierung TTimer in Execute von TThread on Fri, 02 Nov 2007 10:24:31 GMT]]></title><description><![CDATA[<p>Was spricht denn dagegen, die Instantiierung des Timers nur einmal im Konstruktor vorzunehmen? Die Eigenschaftszuweisungen würde ich auch schon nur einmalig im Konstruktor vornehmen (bis auf Enabled).<br />
Interessant wäre ansonsten wirklich die Schleife um den Timer in Execute()?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396265</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Fri, 02 Nov 2007 10:24:31 GMT</pubDate></item><item><title><![CDATA[Reply to Instanziierung TTimer in Execute von TThread on Fri, 02 Nov 2007 17:01:45 GMT]]></title><description><![CDATA[<p>Hallo Ceos,<br />
nein ich instanziere nicht zyklisch. Es geschieht alles vor der while-Schleife.</p>
<p>Hallo Th,<br />
es spricht nichts dagegen den Timer im Konstruktor zu instanzieren. Ich fand es nur seltsam, das das in Execute nicht geht.<br />
Ich dachte, vielleicht hat einer der schlauen Köpfe hier im Forum eine eine Erklärung dafür!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396541</guid><dc:creator><![CDATA[Kernel386]]></dc:creator><pubDate>Fri, 02 Nov 2007 17:01:45 GMT</pubDate></item><item><title><![CDATA[Reply to Instanziierung TTimer in Execute von TThread on Fri, 02 Nov 2007 21:37:34 GMT]]></title><description><![CDATA[<p>kurze Frage, wie sieht bei dir die Funktion timeoutAlive aus? Der enthaltene Code interessiert mich nicht, nur die Funktion an sich.</p>
<p>greetz KN4CK3R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396719</guid><dc:creator><![CDATA[KN4CK3R]]></dc:creator><pubDate>Fri, 02 Nov 2007 21:37:34 GMT</pubDate></item></channel></rss>