<?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[event problem]]></title><description><![CDATA[<p>hola leute</p>
<p>steh da grad etwas auf dem schlauch.<br />
leite eine klasse von TDrawGrid ab und moechte nun das OnDrawCell event eine methode zuweisen.</p>
<pre><code class="language-cpp">void __fastcall intern_on_draw_cell(TObject* sender, long col, long row, TRect rect, TGridDrawState state);
</code></pre>
<p>im ctor meiner klasse hab ich:</p>
<pre><code class="language-cpp">this-&gt;OnDrawCell = intern_on_draw_cell;
</code></pre>
<p>bekomme dann aber folgende fehlermeldung:</p>
<pre><code>[C++ Fehler] TDrawGridEx.cpp(12): E2034 Konvertierung von 'void (_fastcall * (_closure )(TObject *,long,long,TRect,TGridDrawState))(TObject *,long,long,TRect,TGridDrawState)' nach 'TDrawCellEvent' nicht möglich
</code></pre>
<p>kann mir jemand sagen wo da der fehler liegt?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/170906/event-problem</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 03:43:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/170906.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 20 Jan 2007 19:34:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to event problem on Sat, 20 Jan 2007 19:34:42 GMT]]></title><description><![CDATA[<p>hola leute</p>
<p>steh da grad etwas auf dem schlauch.<br />
leite eine klasse von TDrawGrid ab und moechte nun das OnDrawCell event eine methode zuweisen.</p>
<pre><code class="language-cpp">void __fastcall intern_on_draw_cell(TObject* sender, long col, long row, TRect rect, TGridDrawState state);
</code></pre>
<p>im ctor meiner klasse hab ich:</p>
<pre><code class="language-cpp">this-&gt;OnDrawCell = intern_on_draw_cell;
</code></pre>
<p>bekomme dann aber folgende fehlermeldung:</p>
<pre><code>[C++ Fehler] TDrawGridEx.cpp(12): E2034 Konvertierung von 'void (_fastcall * (_closure )(TObject *,long,long,TRect,TGridDrawState))(TObject *,long,long,TRect,TGridDrawState)' nach 'TDrawCellEvent' nicht möglich
</code></pre>
<p>kann mir jemand sagen wo da der fehler liegt?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1213375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1213375</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Sat, 20 Jan 2007 19:34:42 GMT</pubDate></item><item><title><![CDATA[Reply to event problem on Sat, 20 Jan 2007 20:16:58 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>das ist ein kleiner Bug in der Buider-IDE. Schau mal in die Buider-Hilfe zu TDrawGrid::OnDrawCell, dort findest du die korrekte Parameterliste des Events. Soweit ich mich erinnere, muß das Rect als Konstante Referenz übergeben werden.<br />
Die IDE erzeugt aber mit der Automatik eine Methode mit falschem Parameter, so das die manuelle Zuweisung zu einem Event nicht geht.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1213403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1213403</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 20 Jan 2007 20:16:58 GMT</pubDate></item><item><title><![CDATA[Reply to event problem on Sat, 20 Jan 2007 20:25:07 GMT]]></title><description><![CDATA[<p>Stimmt, es muß nicht TRect, sondern const TRect&amp; übergeben werden. Aber wieso ist das ein Bug in der IDE bzw. wie kann man sich das automatisch generieren lassen?<br />
Oder ist das eines der im BDS2006 fehlenden Features?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1213406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1213406</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Sat, 20 Jan 2007 20:25:07 GMT</pubDate></item><item><title><![CDATA[Reply to event problem on Sat, 20 Jan 2007 20:32:37 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich meine mit automatisch die Generierung per Objektinspektor. Also zur Entwurfszeit ein T...Grid auswählen und im OI mit Doppelklick auf den Event-Eintrag die entsprechende Methode erstellen.<br />
Dann wird die Methode ohne <em>const &amp;</em> erstellt. Das läßt sich auch noch kompilieren, da offenbar der Borland-Compiler das nicht mehr überprüft.<br />
Erst wenn so eine Methode manuell über Laufzeit-Quellcode einem Event zugewiesen werden soll, stolpert der Compiler drüber.<br />
Es schadet übrigens nichts, auch die automatischen Methoden zu korrigieren, so wie es auch in der Builderhilfe steht.<br />
Dieses Verhalten ist jedenfalls im BCB5 noch so. Möglicherweise ist der Bug im Studio schon behoben.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1213411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1213411</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 20 Jan 2007 20:32:37 GMT</pubDate></item><item><title><![CDATA[Reply to event problem on Sat, 20 Jan 2007 20:55:44 GMT]]></title><description><![CDATA[<p>akari schrieb:</p>
<blockquote>
<p>Ich meine mit automatisch die Generierung per Objektinspektor. Also zur Entwurfszeit ein T...Grid auswählen und im OI mit Doppelklick auf den Event-Eintrag die entsprechende Methode erstellen.</p>
</blockquote>
<p>In BCB 5, BCB 6 und Turbo C++ steht dann da TRect&amp;. Wie du sagst, tritt dann bei einer manuellen Zuweisung ein Fehler auf.<br />
-&gt; <a href="http://qc.codegear.com/wc/qcmain.aspx?d=39062" rel="nofollow">ab nach QC</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1213419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1213419</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Sat, 20 Jan 2007 20:55:44 GMT</pubDate></item><item><title><![CDATA[Reply to event problem on Sat, 20 Jan 2007 21:17:11 GMT]]></title><description><![CDATA[<p>re</p>
<p>danke mal fuer die aufklaerung. hatte es dann auch in der grids.hpp gefunden.<br />
leicht aergerlich aber was solls.</p>
<p>hab da nun mit meiner grid-klasse noch ein kleines problem.<br />
das grid wird im ctor einer form erstellt und im OnClose event des forms wieder zerstoert.</p>
<p>kompilieren funktioniert einwandfrei. angezeigt wird es auch. jedoch beim schliessen der form gibt es eine exception:</p>
<pre><code>Erste Gelegenheit für Exception bei $7C812A5B. Exception-Klasse EAccessViolation mit Meldung 'Zugriffsverletzung'. Prozess Abelog.exe (3500)
</code></pre>
<p>in der IDE springt er in folgende zeile(591) in Grids.hpp</p>
<pre><code class="language-cpp">/* TCustomGrid.Destroy */ inline __fastcall virtual ~TDrawGrid(void) { }
</code></pre>
<p>muss ich beim zerstoeren meiner grid-klasse auf irgendwas bestimmtes noch achten ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1213430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1213430</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Sat, 20 Jan 2007 21:17:11 GMT</pubDate></item><item><title><![CDATA[Reply to event problem on Sat, 20 Jan 2007 23:12:55 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>im OnClose event des forms wieder zerstoert.</p>
</blockquote>
<p>Da ich vermute du gibts dem Grid beim Erstellen das Form als Owner mit, brauchst du es selber auch nicht löschen.</p>
<p>Ansonsten sehe ich aus den bisherigen Codeausschnitten kein Grund für einen Speicherfehler.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1213461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1213461</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 20 Jan 2007 23:12:55 GMT</pubDate></item></channel></rss>