Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
New version 15.1.0 is now available
#1
Hi guys,

There is a new IntraWeb version available, 15.1.0

This version introduces several new features and enhancements.

Download link here: https://www.atozed.com/2019/07/intraweb-15-1-0/

See what's new here: https://www.atozed.com/2019/07/15-1-0-h/

Soon we are going to publish new blog posts and demos showing new features of IW 15.1

Notes:
  • TMS library should be compatible, but the user must rebuild all TMS packages from source code

  • CG Dev Tools users will need a new version from CG, once some changes in source code will be necessary
Reply
#2
Howdy Alexandre!

I guess I will be one (if not the first) Ginnie Pig!

Any warnings for C++ Builder users?

Since I have removed all my dependencies on third party libraries other than the IWBootstrap, these updates should be easier / faster for me to integrate.

Well, I will report my findings back here shortly!

All the best,

Shane

Alexandre!

I am having to move back to IW 15.0.24.

My application starts up in 15.1, the IWLock keeps spinning after the screen is rendered....

When I close my application, I get all kinds of eaccesserrors that don't happen in 15.0.24.

Not really sure where to start trying to help you with this....

All the best,

Shane
Reply
#3
(07-14-2019, 03:51 PM)ShaneStump Wrote: Howdy Alexandre!

I guess I will be one (if not the first) Ginnie Pig!

Any warnings for C++ Builder users?

Since I have removed all my dependencies on third party libraries other than the IWBootstrap, these updates should be easier / faster for me to integrate.

Well, I will report my findings back here shortly!

All the best,

Shane

Alexandre!

I am having to move back to IW 15.0.24.

My application starts up in 15.1, the IWLock keeps spinning after the screen is rendered....

When I close my application, I get all kinds of eaccesserrors that don't happen in 15.0.24.

Not really sure where to start trying to help you with this....

All the best,

Shane
Install 15.1.0 -> error ... 15.0.23 - > work:

[dcc32 Error] ServerController.pas(83): E2003 Undeclared identifier: 'LockList'
[dcc32 Error] ServerController.pas(106): E2003 Undeclared identifier: 'UnLockList'
Reply
#4
It has been tested in all C++ Builder versions.
LockList() and UnLockList() don't exist anymore. I'm about to publish a new demo showing how to deal with this.

If you are using these functions how were you able to build your application?
Reply
#5
(07-15-2019, 08:53 AM)Alexandre Machado Wrote: It has been tested in all C++ Builder versions.
LockList() and UnLockList() don't exist anymore. I'm about to publish a new demo showing how to deal with this.

If you are using these functions how were you able to build your application?
My function in ServerController:

procedure TIWServerController.KillDoubleSession(UsernameConfusedtring);
var LSessions : TList;
    LSession : TIWApplication;
    i:Integer;
    cAppIDConfusedtring;
begin
  cAppID:='';
  LSessions := GSessions.LockList;
  try
    for i := 0 to Pred(LSessions.Count) do
    begin
      LSession := LSessions[i];
      LSession.Lock;
      try
        if (LSession.Data as TIWUserSession).WebUser.Username  = Username then
        begin
          cAppID:= LSession.AppID;
          break;
        end;
      finally
        LSession.Unlock;
        LSession := nil;
      end;
    end;
  finally
    GSessions.UnLockList(LSessions);
  end;

  if cAppID <>'' then
  begin
      GSessions.Terminate(cAppID);
  end;

end;

How now by new?
Reply
#6
Please check here 2 new demos, slightly different, showing how to obtain and interact with a list of sessions

https://github.com/Atozed/IntraWeb/tree/.../15/Delphi

Please check SessionList and SessionLookup151 projects
Reply
#7
What's new in IntraWeb 15.1 regarding Async callbacks:

http://docs.atozed.com/docs.dll/developm...015.1.html
Reply
#8
(07-15-2019, 09:00 AM)matija Wrote: My function in ServerController:

Try this code instead. Session list doesn't use any locking mechanism. Have in mind that GSessions.Terminate() might fail to terminate the desired session if it is currently locked by the user. It is not possible to remove a session being used by another thread.
 
Code:
procedure TIWServerController.KillDoubleSession(const Username: string);
var
  LSessions: TStringList;
  i:Integer;
  cAppID: string;
  LFound: Boolean;
begin
  cAppID:='';

  LSessions := TStringList.Create;
  try
    gSessions.GetList(LSessions);

    LFound := False;
    for i := 0 to Pred(LSessions.Count) do
    begin
      gSessions.Execute(LSessions[i],
        procedure(aSession: TObject)
        var
          LSession: TIWApplication absolute aSession;
        begin
          LFound := (LSession.Data as TIWUserSession).WebUser.Username = Username;
          if LFound then
            cAppID := LSessions[i];
        end
      );
      if LFound then
        Break;
    end;
  finally
    LSessions.Free;
  end;

  if cAppID <>'' then
  begin
    GSessions.Terminate(cAppID);
  end;
end;
Reply
#9
(07-15-2019, 09:11 AM)Alexandre Machado Wrote: What's new in IntraWeb 15.1 regarding Async callbacks:

http://docs.atozed.com/docs.dll/developm...015.1.html
I use in my ServerController property Auther component TIWAutherEvent. Now not work!

I use OnCheck for check my windows username? Not come in this event function.


https://github.com/Atozed/IntraWeb/tree/...entication
Reply
#10
Quote:I use in my ServerController property Auther component TIWAutherEvent. Now not work!

I use OnCheck for check my windows username? Not come in this event function.


https://github.com/Atozed/IntraWeb/tree/...entication

On your ServerController.OnConfig() event, please write this:

procedure TIWServerController.IWServerControllerBaseConfig(Sender: TObject);
begin
  Self.Auther := IWAutherEvent1;
end;


Note: Replace IWAutherEvent1 with the name of the component you are using for authentication. It should work. We are investigating why it is not loading from DFM.
Reply


Forum Jump:


Users browsing this thread: Alexandre Machado, 1 Guest(s)