I have a login form using the class function execute that has worked fine for me on both PC and MAC for many years. Since I upgraded to 10.3.3 the PC version is fine but the MAC freezes after the login form executes. Well not exactly frozen, won't accept any input but you can close the form. If I remove the login form the application runs fine on the MAC.
Is there another way to call the login that is compatible with the new version? Pretty standard but here is the code
if TfmLogin.Execute thenbegin Application.CreateForm(TfmMain, fmMain); Application.Run;end;
class function TfmLogin.Execute: Boolean;begin with TfmLogin.Create(nil) do try Result := ShowModal = mrOk; finally FreeandNil(fmlogin) end;end;
solved...I took the code out of the project source and added the following to the first line of the OnCereateEvent of the main form. This allows the login validation before displaying any of the main form. It works on both PC and MAc now.
if not TfmLogin.Execute then begin Application.Terminate; exit end;