Jump to content

alfr

uniGUI Subscriber
  • Posts

    132
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by alfr

  1. Well something like the below. Open the Internet Information Services (IIS) Manager on your server. In the Connections pane, expand the server node, and then expand the Sites folder. Select the website for which you want to configure the application pool. In the Actions pane, click on "Basic Settings" to open the "Edit Site" dialog box. In the "Edit Site" dialog box, click on the "Connect as..." button. In the "Connect As" dialog box, select the option "Specific user" and enter the credentials of the user account/(system/service account) that has access to the shared network drive. Make sure the user account has the necessary permissions to access the shared network drive. Click "OK" to close the "Connect As" dialog box. Back in the "Edit Site" dialog box, click on the "Test Settings..." button to verify that the user account has the necessary permissions. The account as well need to have access to the folder of the website. If the test is successful, click "OK" to close the "Test Settings" dialog box. Click "OK" to close the "Edit Site" dialog box. In the Connections pane, expand the server node, and then expand the Application Pools folder. Right-click on the application pool that is associated with the website you configured in the previous steps, and then click on "Advanced Settings". In the "Advanced Settings" dialog box, scroll down to the "Process Model" section. In the "Identity" field, select the option "Custom account" and enter the credentials of the same user account that you specified above. Click "OK" to close the "Advanced Settings" dialog box. Restart the website by right-clicking on it in the Connections pane and selecting "Restart".
  2. alfr

    HTML canvas

    You can look at the demos... http://prime.fmsoft.net/demo/desktop/mdemo.dll
  3. Hi, I've tried to do a Touch form similair to below. It will be used in different scenarios as a pop-up form showing different messages etc, so need the height to be dynamic based on different text length. So if the form could be based on "auto" it should be correct. But doesn't matter what I do, the height of the form doesn't change. Also not possible to change/set the height manually after the form is created? Is there a way to handle this. Currently i'm using client alignmentControl. Another problem is that the HideAnimation doesn't work (set to for example slideOut). As you can see the ShowAnimation do work as it should. Also attached test case - if needed. MobileFormHeightHideAnimation.zip unigui professional 1.90.0.1537
  4. Hi, I see this problem has been reported in 2018, but to my understanding the problem still exists. If for example having 4 unimCarouselPages in the unimCarousel, but 2 of them is set to visible:=false, this still means there are 4 pages in the unimCarousel. Correct implementation should be mean that if 2 pages are not visible, there should be only 2 pages visible... And there should be only 2 dots in the bottom of the unimCarousel.
  5. Thanks for supeeeer faaaasssstttt support! It's so easy sometimes when only get pointed in the right direction! Works! Thanks!
  6. Hi, I'd appreciate if I could get information how to be able to detect swipe left / right when using desktop version of Unigui? (When a user uses the finger to swipe on a form/unipanel) (Have had some other problems with the mobile version in the passed, so prefer using the desktop version...) Unigui version 1.90.0.1537
  7. I suppose it should be one of the forms created when the session starts. So first I would check would be the mainmodule and the mainform.
  8. I believe you just can set useMemo:=true on the column
  9. alfr

    Field validation

    Mainmodule.enableSyncronisation:= true see more on link http://www.unigui.com/doc/online_help/synch-and-asynch-operations.htm
  10. alfr

    Memory leak

    Hi, I believe you should only create the objects when posting data. When asking for data, the objects is normally created based what are sent from the server to you. So I would skipped the following lines... (and see what happens...) Police:=uAnkaraSaglikDostuWS.SaglikDostu2.Create; Sonuc:=QuotationResult2.Create;
  11. Your latest demo project still is not possible to complie - problem with ulkJson. So sorry can't assist.
  12. To my understanding UniGui sets about:blank into the frame when created. So if the OnFrameLoaded event not had time to happen, before you set the HTML yourself, it seems that something about the frame is not initiated fully, so it wouldn't respond ok thereafter. To get around this - wait for the OnFrameLoaded event to occur first - and then set your HTML. Below an example. tempHTML is my wanted HTML. HTML is the HTML property within the TChart. procedure TChart.OnFrameLoaded(Sender: TObject); begin if (tempHTML.Text<>'') and (HTML.Text<>tempHTML.Text) then begin HTML.Text:=tempHTML.Text; tempHTML.clear; end; end;
  13. I should put SpTX*Edit1 and UniBtn1 in one uniPanel with ClientAlignmentControl and Layout to HBox and put SpTX*Edit2 and UniBtn2 in one uniPanel with ClientAlignmentControl and Layout to HBox (or with rows - do you mean vertically? If so use VBox instead of HBox)
  14. I haven't looked on your sample, but I have a simlair object based on the uniCustomUrlFrame. For it to work properly, I can set my html first when the OnFrameLoaded event occur. If I set the HTML earlier, it looks ok, but seems some dependency is missing or not set, as the javascript (like a drilldown) is not kicked off/run. So for it to work well I therefore let the OnFrameLoaded event occur and in it set the HTML.text.
  15. More info at http://www.unigui.com/doc/online_help/iis_7_0.htm
  16. MainModule.EnableSynchronousOperations must be set to true.?
  17. You need then to put the 32-bit versions of libeay32 and ssleay32 dll in the Windows\SYSWOW64 folder. (I agree that it is easy to believe that this folder is for 64-bit dlls, but it is the other way around because of historic reasons I believe. ) (Another options is probably to make sure your path is adjusted with an early entry pointing to your folder containing the libeay and ssleay)
  18. Is it a network share you are copying from? If so also access to that is needed to the said users/app pool
  19. It must be related to your application's App pool user has not write rights in the c:\temp folder. So add write rights for your app.pool user and/or for the built in users/user group - IIS_IUSRS and IUSR
  20. Or use another of the unipanel components...? Tunipanel tunisimplepanel
  21. Hi, I read the params directly in the UniGUIMainModuleBeforeLogin procedure when returned back, and sets handled := True. (Just few internal users so just create a state string stored in uniservermodule before the redirect.) CallBackFrom:=UniguiApplication.UniApplication.parameters.Values['oauth2callback']; if CallBackFrom='' then exit; UniLog('Mainmodule beforeLogin.Params:' + uniGUIApplication.UniApplication.Parameters.Text); UniMainmodule.AzureAuthCode:=UniguiApplication.UniApplication.Parameters.Values['code']; State:=UniguiApplication.UniApplication.Parameters.Values['state']; if (State<>'') and (State=UniServerModule.AzureState) then begin // This is for Azure if (UniMainmodule.AzureAuthCode <> '') and (CallBackFrom = 'azure') then begin // yes call from azure, so get access token try try UniLog('Got Code - see if we can get an token...'); http:=TNetHTTPClient.Create(Self); params:=Tstringlist.Create; params.Add('code=' + UniMainmodule.AzureAuthCode); params.Add('client_id=' + dmBusinessCentral.C_client_id_Azure); // params.Add('client_secret=' + UriEncode(C_client_secret_Az)); params.Add('client_secret=' + C_client_secret_Az); params.Add('scope=' + dmBusinessCentral.C_scope_Az); params.Add('redirect_uri=' + dmBC.AzureRedirectBackToUrl); params.Add('grant_type=authorization_code'); Lresponse:=http.Post('https://login.microsoftonline.com/organizations/oauth2/v2.0/token', params); if Lresponse.StatusText = 'OK' then begin token:=GetSimpleValue(Lresponse.ContentAsString, 'access_token'); UniSession.Log(Lresponse.ContentAsString); aMsg:=Lresponse.ContentAsString; Handled:=True; end
×
×
  • Create New...