Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » Elevate Web Builder Technical Support » Support Forums » Elevate Web Builder General » View Thread |
Messages 1 to 2 of 2 total |
Constructor without Visibility Declaration |
Wed, Feb 8 2017 7:25 AM | Permanent Link |
Michael Dreher | Running the following in a browser...
var Form1: TForm1; implementation type TCircle = class x, y, radius : double; constructor Create; override; end; constructor TCircle.Create; begin end; procedure TForm1.Form1Create(Sender: TObject); var c : TCircle; begin c := TCircle.Create; end; end. ...will result in a JS runtime error "Error: Persistent load error (unit1_tcircle.$p.tcircle_create is undefined)". OK, it's my fault. I forgot to declare the TCircle constructor public. But the compiler did not report an error (Version 2.05B4, 2.06B1). Michael Dreher |
Wed, Feb 8 2017 2:37 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Michael,
<< ...will result in a JS runtime error "Error: Persistent load error (unit1_tcircle.$p.tcircle_create is undefined)". OK, it's my fault. I forgot to declare the TCircle constructor public. But the compiler did not report an error (Version 2.05B4, 2.06B1). >> Got it, thanks. I think it's a confusion between the "design public" scope and the "public" scope. The compiler does some special things for declarations in the "design public" scope, which is the default scope for classes that don't have a scope specified. Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Friday, April 19, 2024 at 07:09 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |