<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.800000190734863px">Hi Ralf Mattes,</span><div style="font-family:arial,sans-serif;font-size:12.800000190734863px"><br></div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">
Thank you very much for your answer!</div><div class="im" style="font-family:arial,sans-serif;font-size:12.800000190734863px"><div><br></div><div>> I think you'll find the best sample code in the eql project -<br>> just do a "git clone git://<a href="http://gitorious.org/eql/eql.git" target="_blank">gitorious.org/eql/eql.git</a>"<br>
> <br>> This project embeds all of Qt into ECL.<br></div><div><br></div></div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">I thought the same and therefore searched the EQL sources before writing my last email.  I had the impression that EQL (beyond the simple code in lisp/ecl-readline.lisp) is based on CFFI which, as far as I understand, currently does not work with ECL under MSVC++.</div>
<div style="font-family:arial,sans-serif;font-size:12.800000190734863px"><br></div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">If I am not mistaken, in this environment currently the only way <span class="">to</span> access foreign functions from ECL is <span class="">to</span> use ECL's own built-in foreign function interface, <span class="">to</span>compile the code accessing C or C++ functionality into a static library (as dynamic loading from CFFI seems <span class="">to</span> not work in the moment) and <span class="">to</span> link the latter statically <span class="">to</span> the rest of the code.</div>
<div style="font-family:arial,sans-serif;font-size:12.800000190734863px"><br></div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">Is this a misunderstanding?</div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">
<br></div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">For the case that ECL's own FFI is the only way which currently works with Microsoft's compilers, I had the impression that ECL's ecl_*foreign_data*() functions have <span class="">to</span> be used <span class="">to</span> <span class="">wrap</span> a pointer <span class="">to</span> a C++ class instance into a lisp object.  But I could not find any usable example and (at least until now) was not successful in producing some working code myself...</div>
<div style="font-family:arial,sans-serif;font-size:12.800000190734863px"><br></div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">If this impression is wrong, please correct me!</div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">
<br></div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">If it happens <span class="">to</span> be correct and somebody has an idea about <span class="">how</span> <span class="">to</span> <span class="">wrap</span> the simple C++ example from my last email into lisp, I would be most grateful!</div>
<div style="font-family:arial,sans-serif;font-size:12.800000190734863px"><br></div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">Thanks a lot, Dietrich</div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">
<br></div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">Here the relevant part of my last email:</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 6, 2013 at 6:25 PM, Dietrich Bollmann <span dir="ltr"><<a href="mailto:dietrich@formgames.org" target="_blank">dietrich@formgames.org</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div>How, for example, would I wrap the following simple program?</div><div><br></div><div>  ;; Making a cube of size 2</div><div>  Cube* cube = new Cube(2.0);</div><div>  </div><div>  ;; Changing its size to 10</div>
<div>  cube->setSize(10.0);</div><div>  </div><div>  ;; Getting its size</div><div>  cube->getSize();</div><div>  </div><div>  ;; Deleting the object</div><div>  delete cube;</div><div><br></div><div>based on a class like the following</div>
<div><br></div><div>  class Cube {</div><div>  private:</div><div>    double _size;</div><div>  public:</div><div>    Cube(): _size(1.0) {}</div><div>    Cube(const double size): _size(size) {}</div><div>    void setSize(const double size) { _size = size; }</div>
<div>    double getSize() const { return _size; }</div><div>  };</div><div><br></div><div>?</div></div></blockquote></div><br><div class="gmail_quote">On Thu, Jun 6, 2013 at 11:20 PM, R. Mattes <span dir="ltr"><<a href="mailto:rm@mh-freiburg.de" target="_blank">rm@mh-freiburg.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">On Thu, 6 Jun 2013 18:25:00 +0900, Dietrich Bollmann wrote<br>

<div class="im">> Hi,<br>
><br>
> Is there some example about how to wrap C++ classes with ECLs foreign<br>
function interface?<br>
<br>
</div>I think you'll find the best sample code in the eql project -<br>
just do a "git clone git://<a href="http://gitorious.org/eql/eql.git" target="_blank">gitorious.org/eql/eql.git</a>"<br>
<br>
This project embeds all of Qt into ECL.<br>
<br>
 HTH Ralf Mattes<br>
<span class=""><font color="#888888"><br>
--<br>
 R. Mattes -<br>
 Hochschule fuer Musik Freiburg<br>
 <a href="mailto:rm@inm.mh-freiburg.de">rm@inm.mh-freiburg.de</a><br>
<br>
</font></span></blockquote></div><br></div></div>