Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 10 total
Thread Bugs found so far
Tue, Mar 3 2020 1:38 PMPermanent Link

Douglas Lyman

Compiling errors:
external function eval(s : string) : object;  // Compiler error:  "Expecting : but instead found eval"

Issues with the IDE Editor:
Tab on a blank line does nothing.
Typing on a blank line jumps to the next line.
Tue, Mar 3 2020 2:06 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Doug,

<< Compiling errors:
external function eval(s : string) : object;  // Compiler error:  "Expecting : but instead found eval" >>

Where are you defining this function ?  The one issue is something that I forgot to mention in the release notes: the "object" type is now called "TExternalObject".  I will update the release notes accordingly.

<< Issues with the IDE Editor:
Tab on a blank line does nothing.
Typing on a blank line jumps to the next line. >>

Workaround: Settings/Editor - make sure to check the "Allow the cursor in…." check boxes.  I'll put a fix for this in build 2.

Tim Young
Elevate Software
www.elevatesoft.com
Tue, Mar 3 2020 4:05 PMPermanent Link

Richard Harding

Wise Nutrition Coaching

<<The one issue is something that I forgot to mention in the release notes: the "object" type is now called "TExternalObject".  I will update the release notes accordingly.>>

I have replaced all occurrences of TObject with TExternalObject.

procedure TfmMenu.buSortClick(Sender: TExternalObject);
I receive a compile error on TComponent(Sender) when I reference Sender. What do I need to do to get this to compile?

Richard Harding
Tue, Mar 3 2020 8:47 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Richard,

<< I have replaced all occurrences of TObject with TExternalObject.  >>

No, this is not correct.  You only need to replace any occurrences of "Object", not "TObject".  "Object" was the EWB 2.x and earlier ancestor class for external classes, whereas "TObject" is the compiler/interpreter-native ancestor class for all non-external classes.

Tim Young
Elevate Software
www.elevatesoft.com
Thu, Mar 5 2020 4:33 PMPermanent Link

Douglas Lyman

<<  Where are you defining this function ?  The one issue is something that I forgot to mention in the release notes: the "object" type is now called "TExternalObject".  I will update the release notes accordingly.

Called right before the implementation statement of the form unit (see below)  


// google charts
external google : TGoogle;
external function eval(s : string) : TExternalObject;    //*** compile error:  "Expected : instead found eval"

implementation

uses MyCommon, Main;
Fri, Mar 6 2020 10:38 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Douglas Lyman wrote:

<< Called right before the implementation statement of the form unit (see below)  >>

Can you send me the complete unit ?  I think the issue is with the TGoogle declaration - without it the code compiles fine here.

Tim Young
Elevate Software
www.elevatesoft.com
Fri, Mar 6 2020 5:16 PMPermanent Link

Douglas Lyman

Just a few more...

This compiles in EWB2 but not in EWB3

function TMainForm.PageCloseQuery(Sender: TObject): Boolean;
begin
 if (Sender is TPage) and
   (TPage(Sender).ControlCount > 0) and
   (TPage(Sender).Controls[0] is TForm) and
   (TForm(TPage(Sender).Controls[0]).OnCloseQuery <> TCloseQueryEvent(Nil)) then
   Result := TForm(TPage(Sender).Controls[0]).OnCloseQuery  // **** Error on this line ***
 else
   Result := True;
end;
Fri, Mar 6 2020 6:04 PMPermanent Link

Douglas Lyman


<<<  Can you send me the complete unit ?  I think the issue is with the TGoogle declaration - without it the code compiles fine here.

To reproduce in your databound example:

1) Add WebDOM in the uses section

2) Add the following code above the Implementation statement:

   // google charts begin
   external google : TGoogle;
   external function eval(s : string) : TExternalObject;
   // google charts end
Wed, Mar 11 2020 10:54 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Doug,

<< This compiles in EWB2 but not in EWB3

function TMainForm.PageCloseQuery(Sender: TObject): Boolean;
begin
 if (Sender is TPage) and
   (TPage(Sender).ControlCount > 0) and
   (TPage(Sender).Controls[0] is TForm) and
   (TForm(TPage(Sender).Controls[0]).OnCloseQuery <> TCloseQueryEvent(Nil)) then
   Result := TForm(TPage(Sender).Controls[0]).OnCloseQuery  // **** Error on this line ***
 else
   Result := True;
end; >>

Okay, this one is a combination of a couple of things:

1) You can't cast nil to a method in EWB 3's compiler.  Just use a nil.

2) The OnCloseQuery call now works (build 7 coming out today), but you need to make sure to pass it the correct parameters, otherwise you'll still get a compiler error.

Tim Young
Elevate Software
www.elevatesoft.com
Wed, Mar 11 2020 10:55 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Doug,

<< To reproduce in your databound example:

1) Add WebDOM in the uses section

2) Add the following code above the Implementation statement:

   // google charts begin
   external google : TGoogle;
   external function eval(s : string) : TExternalObject;
   // google charts end
>>

Okay, this is now fixed in build 7 coming out today.

Tim Young
Elevate Software
www.elevatesoft.com
Image