<p>Am 30.10.2014 11:01 schrieb "<a href="mailto:hinstance@yandex.ru">hinstance@yandex.ru</a>" <<a href="mailto:hinstance@yandex.ru">hinstance@yandex.ru</a>>:<br>
><br>
> I managed to acquire some additional information on Lazarus 1.3 + FPC ARC edition problem<br>
><br>
> First of all, I tested if Lazarus 1.3 trunk compiled with FPC trunk works correctly. It does.<br>
><br>
> However, Lazarus 1.3 trunk with FPC ARC crashes.<br>
><br>
> Lazarus trunk by FreePascal trunk -> OK<br>
> Lazarus trunk by FreePascal ARC edition -> CRASH at startup<br>
><br>
> here is the point where it crashes:<br>
><br>
> D:\FPC_ARC\L>lazarus.exe<br>
> using config file D:\FPC_ARC\L\lazarus.cfg<br>
> [FORMS.PP] ExceptionOccurred<br>
>   Sender=Exception<br>
>   Exception=GetVMTVirtualMethodOffset Parent Virtual Method not found<br>
>   Stack trace:<br>
>   $00710C16  GETVMTVIRTUALMETHODOFFSET,  line 458 of D:/FPC_ARC/L/designer/jitforms.pp<br>
>   $00710D21  GETTCOMPONENTVALIDATERENAMEVMTOFFSET,  line 497 of D:/FPC_ARC/L/designer/jitforms.pp<br>
>   $00714F18  JITFORMS_$$_init,  line 2094 of D:/FPC_ARC/L/designer/jitforms.pp<br>
>   $00410F54<br>
> TApplication.HandleException GetVMTVirtualMethodOffset Parent Virtual Method not found<br>
>   Stack trace:<br>
>   $00710C16  GETVMTVIRTUALMETHODOFFSET,  line 458 of D:/FPC_ARC/L/designer/jitforms.pp<br>
>   $00710D21  GETTCOMPONENTVALIDATERENAMEVMTOFFSET,  line 497 of D:/FPC_ARC/L/designer/jitforms.pp<br>
>   $00714F18  JITFORMS_$$_init,  line 2094 of D:/FPC_ARC/L/designer/jitforms.pp<br>
>   $00410F54<br>
> Exception at 00710C16: Exception:<br>
> GetVMTVirtualMethodOffset Parent Virtual Method not found.<br>
><br>
> Even if line numbers are slightly different, you can easily find the place where exception is raised: in jitforms.pp: in procedure GetVMTVirtualMethodOffset: raise Exception.Create('GetVMTVirtualMethodOffset Parent Virtual Method not found');<br>
>  <br>
> I leave the decision if this worth investigating or not to you as I am myself not sure. Not that I could possibly force someone to look into it even if I insisted.</p>
<p>The VMT has changed in my branch. Take a look at the declaration of TVmt in rtl/inc/objpash.inc and maybe adjust the code to use the offset of the first virtual method instead of hardcoding it...</p>
<p>Regards,<br>
Sven</p>