<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Class not working</title>
		<link>http://www.allegro.cc/forums/view/591480</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 21 May 2007 00:44:04 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So I have this basic class to draw buttons:</p><div class="source-code snippet"><div class="inner"><pre>Button
<span class="k2">{</span>
     public: 
         Button<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
         ~Button<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
         <span class="k1">void</span> draw_button<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>to, <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>image, <span class="k1">int</span> x, <span class="k1">int</span> y<span class="k2">)</span> <span class="k1">const</span>
         <span class="k2">{</span>
             <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>image, to, <span class="n">0</span>,<span class="n">0</span>, x, y, image-&gt;w, image-&gt;h<span class="k2">)</span><span class="k2">;</span>
         <span class="k2">}</span>
<span class="k2">}</span><span class="k2">;</span>
</pre></div></div><p>

And here is the file i use it in:</p><div class="source-code snippet"><div class="inner"><pre><span class="c">// Including files here</span>
<span class="c">// main() and allegro init stuff...</span>
    
    <a href="http://www.allegro.cc/manual/DATAFILE" target="_blank"><span class="a">DATAFILE</span></a> <span class="k3">*</span>data <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_datafile" target="_blank"><span class="a">load_datafile</span></a><span class="k2">(</span><span class="s">"mydata.dat"</span><span class="k2">)</span><span class="k2">;</span>
    Button <span class="k3">*</span>b<span class="k2">;</span>
    b-&gt;draw_button<span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, data<span class="k2">[</span>button_sometin<span class="k2">]</span>.dat, <a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span>, <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k2">;</span>

<span class="c">// ...</span>
</pre></div></div><p>

I get these errors.</p><div class="source-code snippet"><div class="inner"><pre>error: invalid conversion from `<span class="k1">void</span><span class="k3">*</span><span class="s">' to `BITMAP*'</span>
error:   initializing argument <span class="n">2</span> of `<span class="k1">void</span> Button::draw_button<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span>, <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span>, <span class="k1">int</span>, <span class="k1">int</span><span class="k2">)</span><span class="s">'</span>
</pre></div></div><p>

And while were at it, whats the diffrence between object :: sometin, object . sometin and object -&gt; sometin. Thats all. Just tryin&#39; to figure out the basics. I appreciate all help I get! </p><p>Thank you!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Vanneto)</author>
		<pubDate>Sun, 20 May 2007 18:11:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You obviously forgot to cast data[blah].dat to a BITMAP*. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sun, 20 May 2007 18:14:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well.. Yeah now its obvious! <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" /> Thank You! What about the diffrent operators? (:: , -&gt; , .) Whats the diffrence between them?</p><p>P.S. Thanks for the quick reply, works fine now! <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Vanneto)</author>
		<pubDate>Sun, 20 May 2007 18:19:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Uh... they do completely different things.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sun, 20 May 2007 18:23:30 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
What about the diffrent operators? (:: , -&gt; , .) Whats the diffrence between them?
</p></div></div><p>

:: is the scope operator. -&gt; is basically a combination of * and .</p><p>a-&gt;b == (*a).b
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Sun, 20 May 2007 18:25:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I really need to brush up the OOP skills. I suck at this. (too much PHP OOP <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />).<br />I have a method in a class called set_bitmap(). It takes a bitmap as a parameter and assigns it to the member variable. Here is the entire class:</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#ifndef _BUTTON_H_</span></td></tr><tr><td class="number">2</td><td><span class="p">#define _BUTTON_H_</span></td></tr><tr><td class="number">3</td><td><span class="c">/**</span></td></tr><tr><td class="number">4</td><td><span class="c">* Class for drawing button on the screen and using actions from it</span></td></tr><tr><td class="number">5</td><td><span class="c">**/</span></td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td><span class="k1">class</span> Button <span class="k2">{</span></td></tr><tr><td class="number">8</td><td>    public:</td></tr><tr><td class="number">9</td><td>&#160;</td></tr><tr><td class="number">10</td><td>        Button<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>        ~Button<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>&#160;</td></tr><tr><td class="number">13</td><td>        <span class="k1">void</span> set_bitmap<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>button<span class="k2">)</span></td></tr><tr><td class="number">14</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">15</td><td>            button_img <span class="k3">=</span> button<span class="k2">;</span></td></tr><tr><td class="number">16</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">17</td><td>&#160;</td></tr><tr><td class="number">18</td><td>        <span class="k1">void</span> set_coords<span class="k2">(</span><span class="k1">int</span> x, <span class="k1">int</span> y<span class="k2">)</span></td></tr><tr><td class="number">19</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">20</td><td>            button_x <span class="k3">=</span> x<span class="k2">;</span></td></tr><tr><td class="number">21</td><td>            button_y <span class="k3">=</span> y<span class="k2">;</span></td></tr><tr><td class="number">22</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">23</td><td>&#160;</td></tr><tr><td class="number">24</td><td>        <span class="k1">void</span> draw_button <span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">25</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">26</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">27</td><td>&#160;</td></tr><tr><td class="number">28</td><td>    private:</td></tr><tr><td class="number">29</td><td>        <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>button_img<span class="k2">;</span></td></tr><tr><td class="number">30</td><td>        <span class="k1">int</span> button_x,button_y<span class="k2">;</span></td></tr><tr><td class="number">31</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td><span class="p">#endif</span></td></tr></tbody></table></div></div><p>

Yeah I know its not good. But its a start. I also got this in the main file:</p><div class="source-code snippet"><div class="inner"><pre><span class="c">// Do allegro init ...</span>
Button <span class="k3">*</span>start_b<span class="k2">;</span>

<a href="http://www.allegro.cc/manual/DATAFILE" target="_blank"><span class="a">DATAFILE</span></a> <span class="k3">*</span>data<span class="k2">;</span>
<span class="c">// Assign a bitmap to it</span>
start_b-&gt;set_bitmap<span class="k2">(</span><span class="k2">(</span><span class="k3">*</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k2">)</span>data<span class="k2">[</span>start_button<span class="k2">]</span>.dat<span class="k2">)</span><span class="k2">;</span>
<span class="c">//... Destroy BITMAP etc. etc.</span>
</pre></div></div><p>

It compiles fine, but then when I run it. It crashes. I dont know why. Its the &quot;FILENAME.EXE has encountered an unknown error&quot; problem. Anyone know what to do?</p><p>Thanks!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Vanneto)</author>
		<pubDate>Sun, 20 May 2007 21:45:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><b>O</b>bject <b>O</b>riented <b>P</b>rogramming <b>S</b>kills <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Johan Halmén)</author>
		<pubDate>Sun, 20 May 2007 21:48:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Let&#39;s see the actual code for it. Obviously there has to be more to it, since you don&#39;t even load data with anything in that snippet; so let&#39;s see all of it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sun, 20 May 2007 21:58:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;stdlib.h&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#include "spaceship.h"</span></td></tr><tr><td class="number">4</td><td><span class="p">#include "button.h"</span></td></tr><tr><td class="number">5</td><td><span class="p">#include "printer.h"</span></td></tr><tr><td class="number">6</td><td><span class="p">#include "datafile.h"</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span>argv<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">9</td><td><span class="k2">{</span></td></tr><tr><td class="number">10</td><td>&#160;</td></tr><tr><td class="number">11</td><td>    <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>    <a href="http://www.allegro.cc/manual/install_timer" target="_blank"><span class="a">install_timer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>    <a href="http://www.allegro.cc/manual/install_mouse" target="_blank"><span class="a">install_mouse</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>    <a href="http://www.allegro.cc/manual/install_keyboard" target="_blank"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>&#160;</td></tr><tr><td class="number">16</td><td>    <span class="c">// Set some constants for colors etc.</span></td></tr><tr><td class="number">17</td><td>    <span class="k1">const</span> <span class="k1">int</span> RED   <span class="k3">=</span> <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>    <span class="k1">const</span> <span class="k1">int</span> GREEN <span class="k3">=</span> <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">255</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>    <span class="k1">const</span> <span class="k1">int</span> BLUE  <span class="k3">=</span> <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">255</span><span class="k2">)</span></td></tr><tr><td class="number">20</td><td>&#160;</td></tr><tr><td class="number">21</td><td>    <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">32</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>    <a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_AUTODETECT, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>&#160;</td></tr><tr><td class="number">24</td><td>    <span class="c">// Constants</span></td></tr><tr><td class="number">25</td><td>    <span class="k1">const</span> <span class="k1">int</span> CENTER_W <span class="k3">=</span> <a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>    <span class="k1">const</span> <span class="k1">int</span> CENTER_H <span class="k3">=</span> <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>&#160;</td></tr><tr><td class="number">28</td><td>    <a href="http://www.allegro.cc/manual/DATAFILE" target="_blank"><span class="a">DATAFILE</span></a> <span class="k3">*</span>data <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_datafile" target="_blank"><span class="a">load_datafile</span></a><span class="k2">(</span><span class="s">"data.dat"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">29</td><td>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>data<span class="k2">)</span></td></tr><tr><td class="number">30</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">31</td><td>        print_error<span class="k2">(</span><span class="s">"Couldnt load DATAFILE!"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">33</td><td>&#160;</td></tr><tr><td class="number">34</td><td>    Button <span class="k3">*</span>start_b<span class="k2">;</span></td></tr><tr><td class="number">35</td><td>    Button <span class="k3">*</span>quit_b<span class="k2">;</span></td></tr><tr><td class="number">36</td><td>&#160;</td></tr><tr><td class="number">37</td><td>    <span class="c">// Initialize the buttons</span></td></tr><tr><td class="number">38</td><td>    start_b-&gt;set_bitmap<span class="k2">(</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span><span class="k2">)</span>data<span class="k2">[</span>start_button<span class="k2">]</span>.dat<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">39</td><td>    <span class="c">// BUG:start_b-&gt;set_coords(CENTER_W, CENTER_H + 50);</span></td></tr><tr><td class="number">40</td><td>&#160;</td></tr><tr><td class="number">41</td><td>    <a href="http://www.allegro.cc/manual/unload_datafile" target="_blank"><span class="a">unload_datafile</span></a><span class="k2">(</span>data<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">42</td><td>    <span class="c">// TODO: MOVE THIS SECTION TO WHEN THE USER SELECTS SOMETHING</span></td></tr><tr><td class="number">43</td><td>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">44</td><td><span class="k2">}</span></td></tr><tr><td class="number">45</td><td><a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr></tbody></table></div></div><p>

This is it. The class is in my previous post. I holp it will help!</p><p>Thanks!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Vanneto)</author>
		<pubDate>Sun, 20 May 2007 22:04:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Are you even certain the datafile is being loaded? I see no return values being checked.</p><p>edit: Ok, I&#39;m blind.</p><p>edit2: where is <tt>print_error()</tt> defined?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Sun, 20 May 2007 22:08:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ups. I only copied the class Button include. Now all the headers are there. Sorry about that. Its defined in printer.h, its basically an textout_ex() function but automatically sets RED color and position to center... </p><div class="source-code snippet"><div class="inner"><pre>slh.ALL.   propDATE   <span class="n">5</span><span class="k3">-</span><span class="n">20</span><span class="k3">-</span><span class="n">2007</span>, <span class="n">0</span><span class="k2">:</span><span class="n">10</span>propNAME   start_buttonpropORIG   ,d:\CDEV\bitmap\button_start.bmppropXPOS   <span class="k3">-</span><span class="n">1</span>propXSIZ   <span class="k3">-</span><span class="n">1</span>propYPOS   <span class="k3">-</span><span class="n">1</span>propYSIZ   <span class="k3">-</span><span class="n">1B</span>MP       @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  propDATE   <span class="n">5</span><span class="k3">-</span><span class="n">20</span><span class="k3">-</span><span class="n">2007</span>, <span class="n">0</span><span class="k2">:</span><span class="n">09</span>propNAME   cursorpropORIG   <span class="k3">&amp;</span>d:\CDEV\bitmap\cursor.bmppropXPOS   <span class="k3">-</span><span class="n">1</span>propXSIZ   <span class="k3">-</span><span class="n">1</span>propYPOS   <span class="k3">-</span><span class="n">1</span>propYSIZ   <span class="k3">-</span><span class="n">1B</span>MP                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          propBACK   npropDITH   npropHNAM   datafilepropNAME   GrabberInfopropPACK   <span class="n">0</span>propRELF   npropSORT   npropTRAN   npropXGRD   <span class="n">16</span>propYGRD   <span class="n">16</span>info        For internal use by the grabber
</pre></div></div><p>

Hmm.. Maybe heres the problem. When I used the grabber I was getting the bitmaps from bitmap/ folder and I saved the datafile to the main folder ( / ). I think its a bit small... And no data is there. Only the paths to the data is there!</p><p>EDIT: I tried this:
</p><div class="source-code snippet"><div class="inner"><pre>start_b-&gt;set_bitmap<span class="k2">(</span><a href="http://www.allegro.cc/manual/load_bitmap" target="_blank"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"button_start.bmp"</span>, NULL<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

Doesent work either. Dont know why. Its a simple class function. The code is a few posts above!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Vanneto)</author>
		<pubDate>Sun, 20 May 2007 22:20:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><span class="source-code"><a href="http://www.allegro.cc/manual/unload_datafile" target="_blank"><span class="a">unload_datafile</span></a><span class="k2">(</span>data<span class="k2">)</span><span class="k2">;</span></span> &lt;-- How do you expect the bitmap to still be available if you immediately unload the datafile again?</p><p>EDIT: Check your return values, too. Make sure you&#39;re not getting nulls back somewhere (I bet you are, though).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sun, 20 May 2007 22:46:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I unload it after its been assigned to the class function. Yeah thats possible. Ill check for that. Thanks for the advice!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Vanneto)</author>
		<pubDate>Sun, 20 May 2007 22:49:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
<span class="source-code">start_b-&gt;set_bitmap<span class="k2">(</span><a href="http://www.allegro.cc/manual/load_bitmap" target="_blank"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"button_start.bmp"</span>, NULL<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></span>
</p></div></div><p>

Load the bitmap earlier, so that you can check it is being loaded, then pass it to your function.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Sun, 20 May 2007 22:51:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
I unload it after its been assigned to the class function.
</p></div></div><p>

Yeah, and what do you think happens to the bitmap when you unload it? That&#39;s right, your pointer turns into a dangling pointer and when you try to use it, you crash. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sun, 20 May 2007 23:00:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I did that. And now I know the problem is definitely in the .dat file. Now there are some possibilites why it doesent work. a) My grabber.exe is corrupt, b) I dont know how to use it and c) Im an idiot. </p><p>Gonna make some new bitmaps and try again! :p</p><p>EDIT: I am currently making bitmaps with PS CS2. I draw something. And then Save As... / Bitmap (.bmp) / 16 bit mode / Save. Is this right? Or is there  better way?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Vanneto)</author>
		<pubDate>Sun, 20 May 2007 23:05:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That should be fine. I don&#39;t want to sound condescending - really - but b) is probably the most likely answer. Though it&#39;s been a long time since I used the grabber myself, so I&#39;m probably no better myself. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sun, 20 May 2007 23:20:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Sorry about that one. Its definetely the class causing the problem. Lets forget the rest of the code. I have this class:</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#ifndef _BUTTON_H_</span></td></tr><tr><td class="number">2</td><td><span class="p">#define _BUTTON_H_</span></td></tr><tr><td class="number">3</td><td><span class="c">/**</span></td></tr><tr><td class="number">4</td><td><span class="c">* Class for drawing button on the screen and using actions from it</span></td></tr><tr><td class="number">5</td><td><span class="c">**/</span></td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td><span class="k1">class</span> Button <span class="k2">{</span></td></tr><tr><td class="number">8</td><td>    public:</td></tr><tr><td class="number">9</td><td>        Button<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>        ~Button<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">11</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">12</td><td>            button_image <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">14</td><td>&#160;</td></tr><tr><td class="number">15</td><td>        <span class="k1">void</span> set_bitmap<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>bitmap_b<span class="k2">)</span></td></tr><tr><td class="number">16</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">17</td><td>            button_image <span class="k3">=</span> bitmap_b<span class="k2">;</span></td></tr><tr><td class="number">18</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">19</td><td>        <span class="k1">void</span> set_coords<span class="k2">(</span><span class="k1">int</span> x, <span class="k1">int</span> y<span class="k2">)</span></td></tr><tr><td class="number">20</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">21</td><td>            button_x <span class="k3">=</span> x<span class="k2">;</span></td></tr><tr><td class="number">22</td><td>            button_y <span class="k3">=</span> y<span class="k2">;</span></td></tr><tr><td class="number">23</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">24</td><td>        <span class="k1">void</span> draw_button<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>to<span class="k2">)</span> <span class="k1">const</span></td></tr><tr><td class="number">25</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">26</td><td>            <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>button_image, to, <span class="n">0</span>, <span class="n">0</span>, button_x, button_y, button_image-&gt;w,</td></tr><tr><td class="number">27</td><td>            button_image-&gt;h<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">29</td><td>&#160;</td></tr><tr><td class="number">30</td><td>    private:</td></tr><tr><td class="number">31</td><td>        <span class="k1">int</span> button_x,button_y<span class="k2">;</span></td></tr><tr><td class="number">32</td><td>        <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>button_image<span class="k2">;</span></td></tr><tr><td class="number">33</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">34</td><td>&#160;</td></tr><tr><td class="number">35</td><td>&#160;</td></tr><tr><td class="number">36</td><td><span class="p">#endif</span></td></tr></tbody></table></div></div><p>

Ok, all well and fine. And then in the main file:
</p><div class="source-code snippet"><div class="inner"><pre>    Button <span class="k3">*</span>BUTTON_START<span class="k2">;</span>
    Button <span class="k3">*</span>BUTTON_QUIT<span class="k2">;</span>

    BUTTON_START-&gt;set_bitmap<span class="k2">(</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span><span class="k2">)</span>data<span class="k2">[</span>start_b<span class="k2">]</span>.dat<span class="k2">)</span><span class="k2">;</span>
    BUTTON_START-&gt;set_coords<span class="k2">(</span>CENTER_W, CENTER_H <span class="k3">+</span> <span class="n">20</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

Now this causes the crash. Because if I comment out ..-&gt;set_bitmap() and -&gt;set_coords everything is fine. So the problem IS in the class. Now whats wrong. I cant see the problem. When I use set_bitmap the specified bitmap parameter is assigned to the class variable. Nothing to it. But why is it causing a crash? Or is something else causing it... Anyway to solve this? Its the only thing stopping me from going on. </p><p>P.S. This is definetely the part of code causing the problem. The rest of the code is located a few posts up. And no, the DATAFILE is not the culprit. I blipped the contents of it on the screen and it worked... </p><p>Thank you!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Vanneto)</author>
		<pubDate>Sun, 20 May 2007 23:52:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>And where are you instantiating your classes?</p><p>In the future, post the smallest <i>complete</i> code that exhibits the problem...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (gnolam)</author>
		<pubDate>Mon, 21 May 2007 00:01:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre>    Button <span class="k3">*</span>BUTTON_START<span class="k2">;</span>
    Button <span class="k3">*</span>BUTTON_QUIT<span class="k2">;</span>
</pre></div></div><p>

Doesent this initialise the classes?</p><div class="source-code snippet"><div class="inner"><pre>    Button <span class="k3">*</span>BUTTON_START<span class="k2">;</span>
    Button <span class="k3">*</span>BUTTON_QUIT<span class="k2">;</span>

    BUTTON_START-&gt;set_bitmap<span class="k2">(</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span><span class="k2">)</span>data<span class="k2">[</span>start_b<span class="k2">]</span>.dat<span class="k2">)</span><span class="k2">;</span>
    BUTTON_START-&gt;set_coords<span class="k2">(</span>CENTER_W, CENTER_H <span class="k3">+</span> <span class="n">20</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

This causes the problem. The rest of the code it in earlier posts. I thought classname *objectname initialises the class? </p><p>Thanks!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Vanneto)</author>
		<pubDate>Mon, 21 May 2007 00:06:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No, when you have a pointer, you need to make it point to somewhere. Basically, your code is:</p><div class="source-code snippet"><div class="inner"><pre>Button <span class="k3">*</span>BUTTON_START <span class="k3">=</span> <span class="n">0xDEADBEEF</span><span class="k2">;</span>
Button <span class="k3">*</span>BUTTON_QUIT <span class="k3">=</span> <span class="n">0xFEEDF00D</span><span class="k2">;</span>
</pre></div></div><p>

In other words, unless you point the pointers somewhere, they are pointing to trash, and when you try to execute trash with a <i>BUTTON_START-&gt;set_bitmap</i>, if you are lucky your game crashes horribly and closes.</p><p>(Edited: Try</p><div class="source-code snippet"><div class="inner"><pre>Button <span class="k3">*</span>BUTTON_START <span class="k3">=</span> NULL<span class="k2">;</span>
Button <span class="k3">*</span>BUTTON_QUIT <span class="k3">=</span> NULL<span class="k2">;</span>

BUTTON_START <span class="k3">=</span> <span class="k1">new</span> Button<span class="k2">;</span>
BUTTON_QUIT <span class="k3">=</span> <span class="k1">new</span> Button<span class="k2">;</span>
</pre></div></div><p>

(Edited 2: Oh, PHP? Welcome to memory hell then <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Mon, 21 May 2007 00:09:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Heh thanks. Im already getting headaches from having to deallocating stuff etc. :S<br />When I try this I get the following when I try to compile:
</p><div class="source-code snippet"><div class="inner"><pre>D:\CDEV\space_invade\main.o:main.cpp:<span class="k2">(</span>.text<span class="k3">+</span><span class="n">0x430</span><span class="k2">)</span><span class="k2">:</span> undefined reference to `Button::Button<span class="k2">(</span><span class="k2">)</span><span class="s">'</span>
<span class="s">D:\CDEV\space_invade\main.o:main.cpp:(.text+0x489): undefined reference to `Button::Button()'</span>
</pre></div></div><p>

And it doesent compile. Probably my fault. Just checking.</p><p>Thanks!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Vanneto)</author>
		<pubDate>Mon, 21 May 2007 00:14:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You haven&#39;t defined the constructor and destructor in your class. Temporarily, replace <i>Button();</i> in your class with <i>Button() { }</i> and <i>~Button();</i> with <i>~Button() { }</i> (or just delete them altogether), and it should compile. Note that your constructor should set the bitmap member to NULL, and the destrutor, destroy it, and you should call <i>delete BUTTON_START</i> before finishing Allegro, but for now that should work.</p><p>If you get a bunch of undefined Allegro stuff, you forgot to add a reference to Allegro in the linking section of the IDE.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Mon, 21 May 2007 00:19:21 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I added the -lalleg already. And BTW: IT WORKS!!! Thanks. Something so simple (well, at least now) and changes so much. Thank you very much. This language is causing me so much agony at the moment.. Thanks for all the support from all the people who replied to this thread and helped! And especially thank you ReyBrujo! <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" /></p><p>THANKS!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Vanneto)</author>
		<pubDate>Mon, 21 May 2007 00:24:30 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Now that the problem is resolved, I must add the following comment:</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Class not working
</p></div></div><p>
I guess it&#39;s bourgeoisie then.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (gnolam)</author>
		<pubDate>Mon, 21 May 2007 00:44:04 +0000</pubDate>
	</item>
</rss>
