<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Ruslan,<div><br></div><div>I'm trying reproduce the V4RB&nbsp;Table_Create (class way)&nbsp;example with V4CC, but no luck :-(</div><div><br></div><div>First problem, if I override the init of VTable like this:</div><div><br></div><div><div>@implementation tblPerson</div><div><br></div><div>-(id)init</div><div>{</div><div><span class="Apple-tab-span" style="white-space: pre; ">        </span>self = [super initWithName:@"Person"];</div><br></div><div>I get caught in an infinite recursive loop:</div><div><br></div><div><div>#0<span class="Apple-tab-span" style="white-space:pre">        </span>0x0009fbda in -[VTable initWithName:]</div><div>#1<span class="Apple-tab-span" style="white-space:pre">        </span>0x000041f5 in -[tblPerson init] at tblPerson.m:16</div><div>#2<span class="Apple-tab-span" style="white-space:pre">        </span>0x0009fbec in -[VTable initWithName:]</div><div>#3<span class="Apple-tab-span" style="white-space:pre">        </span>0x000041f5 in -[tblPerson init] at tblPerson.m:16</div><br></div><div>It seems that [super initWithName:] calls [self init] but should call [super init]...</div><div><br></div><div>Ok, I try to workaround this and use non standard initializer name:</div><div> <div><br></div> <div>@implementation tblPerson</div> <div><br></div> <div>-(id)initTable</div> <div>{</div> <div><span class="Apple-tab-span" style="white-space:pre">        </span>self = [super initWithName:@"Person"];</div> <div><span class="Apple-tab-span" style="white-space:pre">        </span></div> <div><span class="Apple-tab-span" style="white-space:pre">        </span>if (self) {</div> <div><span class="Apple-tab-span" style="white-space:pre">        </span>mfFirstName = [[VString alloc] initWithName:@"fldFirstName" length:40 flags:0 method:nil];</div> <div><span class="Apple-tab-span" style="white-space:pre">        </span>mfLastName = [[VVarChar alloc] initWithName:@"fldLastName" length:2000 flags:0 method:nil];</div> <div><span class="Apple-tab-span" style="white-space:pre">        </span>mfBornDate =[[VDate alloc] initWithName:@"fldBornDate" flags:0 method:nil];</div> <div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre">        </span></div> <div><span class="Apple-tab-span" style="white-space:pre">        </span>return self;</div> <div>}</div> <div><br></div> <div>@end</div> <br></div><div>this seems to work, but when I try to access the Table properties I find myself in a dead end:</div><div><br></div><div><div><div>#0<span class="Apple-tab-span" style="white-space:pre">        </span>??</div><div>#1<span class="Apple-tab-span" style="white-space:pre">        </span>0x0009d964 in -[VTable name]</div><div>#2<span class="Apple-tab-span" style="white-space:pre">        </span>0x00004380 in -[tblPerson initWithName:] at tblPerson.m:28</div><div>#3<span class="Apple-tab-span" style="white-space:pre">        </span>0x00004201 in -[tblPerson initTable] at tblPerson.m:16</div><div>#4<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000415e in -[DbContacts init] at DbContacts.m:18</div><div><br></div><div>The line executed in the [VTable name] call is here in red:</div><div><br></div><div>0x0009d913&nbsp; &lt;+0005&gt;&nbsp; call &nbsp; 0x9d918 &lt;-[VTable name]+10&gt;</div> <div>0x0009d918&nbsp; &lt;+0010&gt;&nbsp; pop&nbsp; &nbsp; %ebx</div> <div>0x0009d919&nbsp; &lt;+0011&gt;&nbsp; sub&nbsp; &nbsp; $0x20,%esp</div> <div>0x0009d91c&nbsp; &lt;+0014&gt;&nbsp; mov&nbsp; &nbsp; 0x8(%ebp),%esi</div> <div>0x0009d91f&nbsp; &lt;+0017&gt;&nbsp; movl &nbsp; $0x0,0x4(%esp)</div> <div>0x0009d927&nbsp; &lt;+0025&gt;&nbsp; lea&nbsp; &nbsp; 0xff22(%ebx),%eax</div> <div>0x0009d92d&nbsp; &lt;+0031&gt;&nbsp; mov&nbsp; &nbsp; %eax,(%esp)</div> <div>0x0009d930&nbsp; &lt;+0034&gt;&nbsp; call &nbsp; 0x95ffa &lt;_ZN3fbl9log_startEPKci&gt;</div> <div>0x0009d935&nbsp; &lt;+0039&gt;&nbsp; lea&nbsp; &nbsp; 0xb644(%ebx),%eax</div> <div>0x0009d93b&nbsp; &lt;+0045&gt;&nbsp; mov&nbsp; &nbsp; %eax,0x4(%esp)</div> <div>0x0009d93f&nbsp; &lt;+0049&gt;&nbsp; lea&nbsp; &nbsp; 0xdfb4(%ebx),%eax</div> <div>0x0009d945&nbsp; &lt;+0055&gt;&nbsp; mov&nbsp; &nbsp; %esi,0x8(%esp)</div> <div>0x0009d949&nbsp; &lt;+0059&gt;&nbsp; mov&nbsp; &nbsp; %eax,(%esp)</div> <div>0x0009d94c&nbsp; &lt;+0062&gt;&nbsp; call &nbsp; 0x95c08 &lt;_ZN3fbl9log_paramEPKcS1_PKv&gt;</div> <div>0x0009d951&nbsp; &lt;+0067&gt;&nbsp; mov&nbsp; &nbsp; 0x4(%esi),%eax</div> <div>0x0009d954&nbsp; &lt;+0070&gt;&nbsp; xor&nbsp; &nbsp; %esi,%esi</div> <div>0x0009d956&nbsp; &lt;+0072&gt;&nbsp; mov&nbsp; &nbsp; (%eax),%edx</div> <div>0x0009d958&nbsp; &lt;+0074&gt;&nbsp; test &nbsp; %edx,%edx</div> <div>0x0009d95a&nbsp; &lt;+0076&gt;&nbsp; je &nbsp; &nbsp; 0x9d986 &lt;-[VTable name]+120&gt;</div> <div>0x0009d95c&nbsp; &lt;+0078&gt;&nbsp; mov&nbsp; &nbsp; (%edx),%eax</div> <div>0x0009d95e&nbsp; &lt;+0080&gt;&nbsp; mov&nbsp; &nbsp; %edx,(%esp)</div> <div>0x0009d961&nbsp; &lt;+0083&gt;&nbsp; call &nbsp; *0x18(%eax)</div> <div><font class="Apple-style-span" color="#FE0000">0x0009d964&nbsp; &lt;+0086&gt;&nbsp; mov&nbsp; &nbsp; %eax,(%esp)</font></div> <div>0x0009d967&nbsp; &lt;+0089&gt;&nbsp; call &nbsp; 0xcd338 &lt;dyld_stub__ZNK3fbl6String5c_strEv&gt;</div> <div>0x0009d96c&nbsp; &lt;+0094&gt;&nbsp; movl &nbsp; $0xffffffff,0x8(%esp)</div> <br></div><div>after that only dark...</div></div><br><br><div><div><div><div>Cool Runnings,</div><div>Erne.</div></div></div> </div><br></body></html>