norgepaul / TChromeTabs

Comprehensive Delphi implementation of Chrome's tab system
Other
215 stars 78 forks source link

TChromeTabsGlassForm Access Violation when built with C++ Builder #16

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
When building the latest TChromeTabs with C++ Builder (XE4), 
TChromeTabsGlassForm will cause an access violation due to the protected 
virtual function ShowTabsInTitleBar.

:a57b0001 
:00662FF3 Vcl::Controls::TControl::Perform(Self=????, Msg=????, WParam=????, 
LParam=0)
:006619E7 Vcl::Controls::TControl::SetVisible(Self=????, Value=????)
:00706F4C 
Chrometabsglassform::TChromeTabsGlassForm::TChromeTabsGlassForm(Self=:020F7330, 
AOwner=:0211E020, ...)
:00402D8D TForm1::TForm1(this=:020F7330, Owner=:0211E020)
:00633EE5 Vcl::Forms::TApplication::CreateForm(Self=:0211E020, 
InstanceClass=????, Reference=:0073A8C0)
:00402A9F wWinMain( =:00400000,  =NULL,  =:00243914,  =9)
:006e15a0 ; __wstartup

A solution seems to be to move the definition "function ShowTabsInTitleBar: 
Boolean; virtual;" from protected to private in the TChromeTabsGlassForm class 
definition. This is likely a C++ Builder specific issue in how Delphi classes 
are instantiated.

Original issue reported on code.google.com by stevefe...@gmail.com on 8 Jul 2014 at 10:01

GoogleCodeExporter commented 9 years ago
OK, moved to private and no longer virtual. I guess it didn't really need to be 
virtual anyway.

Original comment by paul.tho...@easy-ip.net on 3 Sep 2014 at 7:39