<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thank you for that! I had somehow missed the annotations documentation entirely. I think perhaps /Abstract/ is the one I need in this case, but I seem to be on the right track now. Thanks again!</div>
<div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="Signature">
<div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<pre style="orphans:auto; widows:auto">-- <br></pre>
<div style="font-family:Cantarell; font-size:14.666666984558105px; font-weight:normal; orphans:auto; widows:auto">
<p style="margin:0in 0in 0.0001pt; font-family:Calibri,sans-serif"><b><span style="font-size:12pt; color:rgb(31,73,125)">James Jurack</span></b></p>
<p style="margin:0in 0in 0.0001pt; font-family:Calibri,sans-serif; line-height:18.33333396911621px">
<span style="color:rgb(31,73,125)">Systems Engineer</span></p>
<p style="margin:0in 0in 0.0001pt; font-family:Calibri,sans-serif; line-height:18.33333396911621px">
<span style="color:rgb(31,73,125)"><img class="EmojiInsert" data-outlook-trace="F:1|T:1" src="cid:6ba39e1a-7562-4c91-9062-8acc474a02a4"></span><span style="color:rgb(31,73,125)">                                                                               
                  <img class="EmojiInsert" data-outlook-trace="F:1|T:1" src="cid:fc8c1e49-c487-4366-99a3-ef3c4077bc1b"></span></p>
<p style="margin:0in 0in 0.0001pt; font-family:Calibri,sans-serif"><span style="color:rgb(31,73,125)">5425 Warner Rd. </span><b><span style="color:red">| </span></b><span style="color:rgb(31,73,125)">Suite 13 </span><b><span style="color:red">|</span></b><span style="color:rgb(31,73,125)"> Valley
 View, OH 44125 </span><b><span style="color:red">|</span></b><span style="color:rgb(31,73,125)"> <a href="http://www.vtiinstruments.com/" style="color:purple">http://www.vtiinstruments.com</a></span></p>
<p style="margin:0in 0in 0.0001pt; font-family:Calibri,sans-serif; line-height:22px">
<span style="color:rgb(31,73,125)">P. +1.216.447.8950 x2013 </span><b><span style="color:red">|</span></b><span style="color:rgb(31,73,125)"> F: +1.216.447.8951 </span><b><span style="color:red">|</span></b><span style="color:rgb(31,73,125)"> <a href="mailto:email@vtiinstruments.com" style="color:purple">james.jurack@ametek.com</a></span></p>
</div>
<br>
</div>
</div>
</div>
</div>
<div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Phil Thompson <phil@riverbankcomputing.com><br>
<b>Sent:</b> Saturday, August 7, 2021 5:01 AM<br>
<b>To:</b> James Jurack <James.Jurack@ametek.com><br>
<b>Cc:</b> pyqt@riverbankcomputing.com <pyqt@riverbankcomputing.com><br>
<b>Subject:</b> Re: SIP: using %InstanceCode for pure virtual class</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText">***NOTICE*** This came from an external source. Use caution when replying, clicking links, or opening attachments.<br>
<br>
On 06/08/2021 21:12, James Jurack wrote:<br>
> Hello,<br>
><br>
> I am trying to use SIP to wrap a pure virtual class. Since it does not<br>
> have a callable constructor, it instead has a static factory function<br>
> that returns an instance of a hidden subclass.<br>
><br>
> From the docs, I've gathered that SIP provides %InstanceCode to cover<br>
> this use case, but it appears it's not doing anything. My class is<br>
> defined in my .sip file like so:<br>
><br>
> class MyLib<br>
> {<br>
> %TypeHeaderCode<br>
> #include <MyLib.h><br>
> %End<br>
> %InstanceCode<br>
>     sipCpp = ::MyLib::Create();<br>
> %End<br>
> };<br>
><br>
> But there is no change in the CPP code that SIP generates, whether I<br>
> include the %InstanceCode or not; it's still trying to call my class's<br>
> constructor directly, and I can't find my call to Create() anywhere in<br>
> the generated code.<br>
><br>
> Am I misunderstanding how %InstanceCode is supposed to work?<br>
<br>
You haven't told SIP that there are no default ctors. See...<br>
<br>
<a href="https://urldefense.com/v3/__https://www.riverbankcomputing.com/static/Docs/sip/annotations.html*class-annotation-NoDefaultCtors__;Iw!!HKOSU0g!S_W52V65neQiX3WDsLXU8dQBvA-Cc2dMuk6Q22pZQx7TPxi1LAuV9jcjr8xYYQEPGWk$">https://urldefense.com/v3/__https://www.riverbankcomputing.com/static/Docs/sip/annotations.html*class-annotation-NoDefaultCtors__;Iw!!HKOSU0g!S_W52V65neQiX3WDsLXU8dQBvA-Cc2dMuk6Q22pZQx7TPxi1LAuV9jcjr8xYYQEPGWk$</a><br>
<br>
Phil<br>
</div>
</span></font></div>
</div>
</body>
</html>