Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 4 of 4 total
Thread Elevate Web Builder 3 Beta Build 12 is Now Available
Wed, Apr 29 2020 12:58 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

I've uploaded Build 12 of the beta, and some notes:

1) Code assistance is now available in the IDE.  The setting for this can be found in the Settings dialog for the IDE, including being able to specify the delay before the code assistance kicks in.  The code assistance is pretty rudimentary and primarily only helps with references to declarations.  There is currently no assistance for keywords or auto-completion of code constructs, nor is there any intelligence regarding assistance for assignments, etc.  I will be making further improvements as the product progresses, but the current functionality should be sufficient for most cases.

In order to use the code assistance, you can hit Ctrl-Space to get a list of valid declarations for the current scope, or you can start typing and wait for the code assistance to kick in for what you've already typed for the identifier reference.  Also, if you type in an identifier and then type in a period (.), then the code assistance will show you the valid declarations for the already-typed identifier(s) (there could be several identifier qualifiers).

Finally, this feature will probably have some bugs, so please let me know if you see anything weird or anything that affects compilation.

2) The sessions that are passed in with requests to server applications now include a Variables property that allows you to store session data with the session that will be preserved across calls to the server application.  It is effectively a hash table of keys and variant values, so you can store any type of data that you can normally use with EWB server applications.  However, be careful when storing things like object instance references, as they will not be automatically destroyed when the session is destroyed (either due to the session expiration time, or server shutdown).

Here is an example of how you could use this property.  It first checks to see if the variable exists (by checking to see if the variant value is Null), and then it increments it.  Every time you run the application, you will see the variable increment by 1.

Request handler method:

procedure TReqHandler1.GetSessionVariable(Request: TWebServerRequest);
var
  TempVar: Variant;
begin
  with Request do
     begin
     TempVar:=Request.RequestSession.Variables['TestVar'];
     if VarNull(TempVar) then
        TempVar:=1
     else
        TempVar:=(TempVar+1);
     Request.RequestSession.Variables['TestVar']:=TempVar;
     SetResponseNoCacheHeader;
     SendContent('Variable: '+IntToStr(TempVar));
     end;
end;

Request handler:

procedure TReqHandler1.ReqHandler1HandleRequest(Sender: TObject; Request: TWebServerRequest);
var
  TempMethod: String;
begin
  with Request do
     begin
     TempMethod:=RequestParameters['method'];
     if (RequestMethod=hmGet) then
        begin
        if SameText(TempMethod,'testjson') then
           TestJSON(Request)
        else if SameText(TempMethod,'loaddataset') then
           LoadDataSet(Request)
        else if SameText(TempMethod,'sessionvar') then
           GetSessionVariable(Request)   <<<<<<<<<<<<<<<<<<<<<< Called here !!!!
        else
           SendError(HTTP_NOT_FOUND,'Method "'+TempMethod+'" does not exist');
        end
     else if (RequestMethod=hmPost) then
        begin
        if SameText(TempMethod,'deleterows') then
           DeleteRows(Request)
        else if SameText(TempMethod,'updaterows') then
           UpdateRows(Request)
        else if SameText(TempMethod,'uploadfile') then
           UploadFile(Request)
        else
           SendError(HTTP_NOT_FOUND,'Method "'+TempMethod+'" does not exist');
        end
     else
        SendError(HTTP_BAD_REQUEST,'Invalid HTTP method "'+RequestMethodName+'"');
     end;
end;

I'm going to try to finish up most of the missing server application features in the next week, so hopefully the product will be feature-complete soon.  After that, it's just a matter of updating the documentation and we'll be ready for a release.

I hope that everyone is doing okay, and that you're all getting some much-needed family time. Smile

Thanks !

Tim Young
Elevate Software
www.elevatesoft.com
Wed, Apr 29 2020 7:47 PMPermanent Link

Steve Gill

Avatar

I'm loving the code assistance - thanks Tim! Smile

= Steve
Thu, Apr 30 2020 12:03 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Steve,

<< I'm loving the code assistance - thanks Tim! Smile>>

Cool, I'm glad that it's helpful.  As I make it more context-aware (assignments, parameters, etc.), it will get smarter and smarter. Smile

Tim Young
Elevate Software
www.elevatesoft.com
Fri, May 1 2020 1:50 AMPermanent Link

R&D team @ Environment Canada

On behalf our our team, I second that, thank you very much. Makes it easier, especially for newbies who are not familiar with the objects, and oldies who forget what's available. Certainly streamlines the coding process!


Steve Gill wrote:

I'm loving the code assistance - thanks Tim! Smile

= Steve
Image