<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Dimitar, I _did_ read your e-mail -- that's how I knew about the three problems you mentioned.  I just thought there'd be a chance that my patch fixed them, since the problems you mentioned were sort of weird and inexplicable, and my patch fixed other problems that were weird and inexplicable.</span></div><div><span><br></span></div><div><span>And yes, you had mentioned the "-mstackrealign" fix, but at the time, I hadn't realized that you didn't patch the cmake files to fix it.  As you can see, the fix wasn't very difficult.  (Maybe it's because I was previously traumatized by autogen, but I found cmake to be easy to deal with. :-)</span></div><div><span><br></span></div><div><span>In any case, I'm glad to have a working cross-platform assemblygen-based Qyoto, and now I can finally do what I've wanted to
 do all along: write Qt apps using C#.  I also intend to learn the source code to Qyoto (which I will continue doing today), not only to become more able to help on this project, but to learn more about advanced C# programming.</span></div><div><span><br></span></div><div><span>Re: getting Qyoto documented, do you perhaps have any recommendations for the order in which I should read the source files?  Something that would give me a bottom-to-top view of how things work?  That way, when I get to the next source file, I've learned the basics of what I need to know in order to understand it.  Right now, I'm just reading them in order, starting with qyoto-qtcore, then going into its native directory, and bouncing back and forth a little.</span></div><div><span><br></span></div><div><span>Arno, re: the patch not working with MSVC: I was unaware of that.  I thought it was needed generally under MS Windows.  I don't have MSVC, so I
 wouldn't be able to test it anyway.  However, adjusting my recent patch to cope with such a thing would be a snap, so I'm not too worried.</span></div><div><span><br></span></div><div><span>Steven Boswell</span></div><div><br></div>  <div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "> <div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Dimitar Dobrev <dpldobrev@yahoo.com><br> <b><span style="font-weight: bold;">To:</span></b> Steven Boswell II <ulatekh@yahoo.com>; KDE bindings for other programming languages <kde-bindings@kde.org> <br> <b><span style="font-weight: bold;">Sent:</span></b> Saturday, May 26, 2012 12:50 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [Kde-bindings] assemblygen-based Qyoto now working under MS
 Windows and Linux!<br> </font> </div> <br>
<div id="yiv210423838"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "><div><span>I've already written about 2 of the problems here - http://lists.kde.org/?l=kde-bindings&m=133691383629692&w=2, and about the 3rd one here - http://lists.kde.org/?l=kde-bindings&m=133693036701950&w=2. Please consider browsing the list archive for at least the last month. I know it's not fun (and even easy, because of the way the list messes up Yahoo mails) to read but I've been sending there everything I've found out about Qyoto so that other people would not waste time. I believe I've mentioned the "-mstackrealign" note has also been sent by me to the list albeit quite some time ago.<br></span></div><div><span><br></span></div><div><span>I haven't been learning programming from books so I cannot give you a recommendation. However, I think I've grasped
 most of the Qyoto structure and I'd gladly answer
 any questions you might have. The C# part is not very hard anyway. The most "unusual" used class is, I believe, GCHandle - it allows the sending (through its method Alloc) of a pointer to a managed object to unmanaged code. The only condition is that the corresponding argument on the unmanaged side is of type void*. I've already written to you about the basic methods in qtcore-native so together with this note they may help you get started. I'd be happy to help, even more so considering that you'd probably make some ordered notes which we could then publish somewhere at <a target="_blank" href="http://kde-bindings.org">kde-bindings.org</a> as technical documentation.<br></span></div><div><span><br></span></div><div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "> <div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1"> 
 <b><span style="font-weight:bold;">From:</span></b> Steven Boswell II
 <ulatekh@yahoo.com><br> <b><span style="font-weight:bold;">To:</span></b> KDE bindings for other programming languages <kde-bindings@kde.org> <br> <b><span style="font-weight:bold;">Sent:</span></b> Saturday, May 26, 2012 10:03 PM<br> <b><span style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] assemblygen-based Qyoto now working under MS Windows and Linux!<br> </font> </div> <br>
<div id="yiv210423838"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "><div><span>Glad to be of service. :-)</span></div><div><span><br></span></div><div><span>Let us know if any of the three outstanding bugs you reported earlier are fixed by this change, or if those still have to be tracked down.</span></div><div><span><br></span></div><div><span>Do you have any recommendations for books on the sort of C# programming I'm going to need to understand in order to become a better Qyoto developer?  So far, I'm browsing the "C# Interoperability" on MSDN, but I figure someone has written a book on this sort of unmanaged/advanced C# programming.  Now that I can get Qyoto to work for me, learning its implementation is a new priority for me.</span></div><div><span><br></span></div><div><span>Thanks for checking up with
 Richard.</span></div><div><span><br></span></div><div><span>Steven
 Boswell</span></div><div><br></div>  <div style="font-size: 12pt; font-family: times, serif; "> <div style="font-size: 12pt; font-family: times, serif; "> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Dimitar Dobrev <dpldobrev@yahoo.com><br> <b><span style="font-weight:bold;">To:</span></b> Steven Boswell II <ulatekh@yahoo.com>; KDE bindings for other programming languages <kde-bindings@kde.org> <br> <b><span style="font-weight:bold;">Sent:</span></b> Saturday, May 26, 2012 11:10 AM<br> <b><span style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] assemblygen-based Qyoto now working under MS Windows and Linux!<br> </font> </div> <br>
<div id="yiv210423838"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12pt; font-family: times, serif; "><div><span>Great work, Steven, and in a very short time! It works for me as well and I've just pushed it.</span></div><div>About the "-mstackrealign" patches on SMOKE, I asked Richard to push them and he agreed but they are still not there. I'll try now to check on IRC what's going on.<br><span></span></div><div><br></div>  <div style="font-size: 12pt; font-family: times, serif; "> <div style="font-size: 12pt; font-family: times, serif; "> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Steven Boswell II <ulatekh@yahoo.com><br> <b><span style="font-weight:bold;">To:</span></b> KDE bindings for other programming languages <kde-bindings@kde.org>
 <br> <b><span style="font-weight:bold;">Sent:</span></b>
 Saturday, May 26, 2012 7:51 PM<br> <b><span style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] assemblygen-based Qyoto now working under MS Windows and Linux!<br> </font> </div> <br>
<div id="yiv210423838"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12pt; font-family: times, serif; "><div><span>Here's one more patch for assemblygen...while building it on a different Linux machine, I encountered a problem I hadn't seen before.  I traced it to a missing dependency declaration.  The enclosed patch fixes it.</span></div><div><span><br></span></div><div><span>Steven Boswell</span></div><div><br></div>  <div style="font-size: 12pt; font-family: times, serif; "> <div style="font-size: 12pt; font-family: times, serif; "> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Steven Boswell II <ulatekh@yahoo.com><br> <b><span style="font-weight:bold;">To:</span></b> KDE bindings <kde-bindings@kde.org> <br> <b><span style="font-weight:bold;">Sent:</span></b> Saturday, May 26,
 2012 8:37 AM<br> <b><span style="font-weight:bold;">Subject:</span></b> [Kde-bindings] assemblygen-based Qyoto now working under MS Windows and Linux!<br> </font> </div> <br>
<div id="yiv210423838"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12pt; font-family: times, serif; "><div id="yiv210423838"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12pt; font-family: times, serif; "><div id="yiv210423838yui_3_2_0_20_133804617346548"><span id="yiv210423838yui_3_2_0_20_1338046173465208"></span></div><div>For those of you playing along at home, Dimitar and I had an offline discussion about building Qyoto.  The end result was, he wasn't making a Release build when he thought he was, and although smokegen and smokeqt worked when built as Release, assemblygen didn't.</div><div><br></div><div>Usually, when something works as a debug build, but not as release, the compiler warns about the issues.  I decided to add "-Wall" to my compiler command line, and found two cases where control reached the end of non-void
 functions.  The
 enclosed patch fixes both issues.</div><div><br></div><div>And now...release builds of Qyoto are working for me, under both Windows and Linux!</div><div><br></div><div>Could someone with write access to smokegen and smokeqt please apply the patches I sent to the list on May 22, at 7:08pm my time?  We finally have a version of the assemblygen-based Qyoto that builds and works under MS Windows and Linux.</div><div><br></div><div>Steven Boswell</div><div><br></div>  <div style="font-size: 12pt; font-family: times, serif; " id="yiv210423838yui_3_2_0_20_133804617346556" class="yiv210423838yui_3_2_0_20_133804617346554"> <div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_133804617346561"> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Dimitar Dobrev <dpldobrev@yahoo.com><br> <b><span style="font-weight:bold;">To:</span></b> Steven Boswell II
 <ulatekh@yahoo.com>; KDE bindings <kde-bindings@kde.org> <br> <b><span style="font-weight:bold;">Sent:</span></b> Friday, May 25, 2012 9:48 AM<br> <b><span style="font-weight:bold;">Subject:</span></b> Re: HccQt: all libs release<br> </font> </div> <br>
<div id="yiv210423838"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_133804617346569"><div><span>Yes, this is exactly what I mean, I'm porting an existing project to Qt.</span></div><div><span>I really do not have the time for comments but I can give you a basic outline for Qyoto (contained in the qtcore Qyoto module) as follows:</span></div><div><span>1. <a rel="nofollow" target="_blank" href="http://SmokeInvocation.cs">SmokeInvocation.cs</a> - contains the methods that invoke the corresponding invokers in the native Qyoto which in turn call the SMOKE methods;</span></div><div><span>2. <a rel="nofollow" target="_blank" href="http://SmokeMarshallers.cs">SmokeMarshallers.cs</a> - these are the managed methods called by native code;<br></span></div><div><span>2. methodcall.cpp, virtualcall.cpp - these are
 self-explanatory;</span></div><div><span>3. handlers.cpp - these are the type marshallers;
 each type you pass to and each type you get from unmanaged code passes its appropriate marshaller; you'll see the </span>Qyoto_handlers field which indicated which
 marshaller (a function pointer) is used for a certain type; for example, marshall_basetype is used for classes;<br></div><div>4. callbacks.cpp - these set pointers pointing to the managed methods (defined in 2.,<span> SmokeMarshallers.cs</span>) to call from unmanaged code.</div><div>This is basically it, and as these are the most used methods, the bug is most likely there. Let me know if you need more assistance.<br></div><div><br></div>  <div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_133804617346589"> <div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_133804617346591"> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Steven Boswell II <ulatekh@yahoo.com><br> <b><span style="font-weight:bold;">To:</span></b> Dimitar Dobrev
 <dpldobrev@yahoo.com> <br> <b><span style="font-weight:bold;">Sent:</span></b> Friday, May 25, 2012 5:11 PM<br> <b><span style="font-weight:bold;">Subject:</span></b> Re: HccQt: all libs release<br> </font> </div> <br>
<div id="yiv210423838"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_133804617346599"><div><span>Porting what?  Are you talking about porting an existing project to use Qyoto and Qt?</span></div><div><br><span></span></div><div><span>I'll have to learn the source code to Qyoto to have any luck debugging it.  I don't suppose you'll have time to add source-code comments to Qyoto to reflect what you've learned about it in the last several months?</span></div><div><br><span></span></div><div><span>Also, I've never been able to get any version of the assemblygen-based Qyoto to work under Linux, not even a debug build.  It crashes in the first call to QObject.Connect().<br></span></div><div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465111"><div style="font-size: 12pt; font-family: times,
 serif; " class="yiv210423838yui_3_2_0_20_1338046173465113"><div id="yiv210423838"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465119"><div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465121"><div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465123"><div id="yiv210423838"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465129"><div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465131"><div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465133"><div id="yiv210423838"><div><div style="color: rgb(0, 0, 0); background-color:
 rgb(255, 255, 255); font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465139"><div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465141"><div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465143"><div id="yiv210423838"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465149"><div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465151"><div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465153"><div id="yiv210423838"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465159"><div style="font-size: 12pt;
 font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465161"><div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465163"><div id="yiv210423838"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465169"><div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465171"><div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465173"><div id="yiv210423838"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465179"><div style="font-size: 12pt; font-family: times, serif; " class="yiv210423838yui_3_2_0_20_1338046173465181"><div style="font-size: 12pt; font-family: times, serif; "
 class="yiv210423838yui_3_2_0_20_1338046173465183"><br> </div>
 </div> 
 </div></div></div><br><br> </div> </div>  </div></div></div><br><br> </div> </div>  </div></div></div><br><br> </div> </div>  </div></div></div><br><br> </div> </div>  </div></div></div><br><br> </div> </div>  </div></div></div><br><br> </div> </div>  </div></div></div><br><br> </div> </div>  </div></div></div><br><br> </div> </div>  </div></div></div><br><br> </div> </div>  </div></div></div></div></div></div><br>_______________________________________________<br>Kde-bindings mailing list<br><a rel="nofollow" ymailto="mailto:Kde-bindings@kde.org" target="_blank" href="mailto:Kde-bindings@kde.org">Kde-bindings@kde.org</a><br><a rel="nofollow" target="_blank" href="https://mail.kde.org/mailman/listinfo/kde-bindings">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br><br><br> </div> </div>  </div></div></div><br>_______________________________________________<br>Kde-bindings mailing list<br><a rel="nofollow" ymailto="mailto:Kde-bindings@kde.org"
 target="_blank" href="mailto:Kde-bindings@kde.org">Kde-bindings@kde.org</a><br><a rel="nofollow" target="_blank" href="https://mail.kde.org/mailman/listinfo/kde-bindings">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br><br><br> </div> </div>  </div></div></div><br><br> </div> </div>  </div></div></div><br>_______________________________________________<br>Kde-bindings mailing list<br><a rel="nofollow" ymailto="mailto:Kde-bindings@kde.org" target="_blank" href="mailto:Kde-bindings@kde.org">Kde-bindings@kde.org</a><br><a rel="nofollow" target="_blank" href="https://mail.kde.org/mailman/listinfo/kde-bindings">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br><br><br> </div> </div>  </div></div></div><br><br> </div> </div>  </div></body></html>