Jump to content

Mehmet Emin

uniGUI Subscriber
  • Posts

    229
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by Mehmet Emin

  1. Also if you decide to use madExcept for bug reporting you can find the below code useful. procedure TUniServerModule.UniGUIServerModuleException( Sender: TUniGUIMainModule; AException: Exception; var Handled: Boolean); var CurSession : TUniGUISession; begin if not (AException is EAbort) then begin if not (AException is UniErrorException) and not (AException is EUniSessionException) then begin CurSession := UniSession; if Assigned(CurSession) then CurSession.AlertDisabled := True; try AutoSaveBugReport(CreateBugReport(etNormal, nil, nil, 0, 0, 0, nil, false)); Handled := True; finally if Assigned(CurSession) then CurSession.AlertDisabled := False; end; end; end; end;
  2. How can I wrap the caption of Tunimcheckbox. I dont want to use <br> in the caption. I need to wrap it based on available size. Thanks
  3. You are getting this error message SSL.SSLOptions.Method := sslvTLSv1_2; SSL.SSLOptions.SSLVersions := [sslvTLSv1_2]; Although I recommend above dont set them for now. They are more secure but you may get some errors while debugging and client connects. just ignore of this exception type.
  4. I never used ssl in that way. I dont now. Just buy a domain an do dynamic dns. so that you will have the domain name
  5. Do you have correct ssl dll available check unigui framework installation folders for those and put them some where you process can find
  6. I recommend you go to https://zerossl.com/ and generate a new free certificate (dont set password for certificate) and test with that one. And follow the steps above. Make sure to load files into correct properties. Your private key, your certificate and root certificate(may be with bundle). Good luck
  7. If you set a password (not mandatory but good thing) when generating your certificate at godaddy. Then I think you have to set this password to SSL.SSLPassword before enabling ssl. .... SSL.SSLOptions.Mode := sslmServer; SSL.SSLOptions.SSLVersions := [sslvTLSv1_2]; SSL.SSLPassword := 'the password you used during certificate generation'; SSL.Enabled := True;
  8. Match those files like this: SSL.SSLOptions.RootCertFile := 'gd_bundle-g2-g1.crt'; SSL.SSLOptions.CertFile := 'af6d14e9d.......crt'; SSL.SSLOptions.KeyFile := 'generated-private-key.txt'; or af6d14e9d........pem keyfile should contain -----BEGIN PRIVATE KEY----- (keep it secure) RootCertFile should contain one or more -----BEGIN CERTIFICATE----- (incase of bundle) CertFile contains single -----BEGIN CERTIFICATE----- (this is your certificate) Some thing like this inside UniGUIServerModuleBeforeInit LSSLDir := TPath.Combine(TPath.Combine(TPath.GetPublicPath, PROGRAM_DATA_DIR), 'SSL'); LRoot := TPath.Combine(LSSLDir, 'gd_bundle-g2-g1.crt';); LCert := TPath.Combine(LSSLDir, ''af6d14e9d.......crt'); LKey := TPath.Combine(LSSLDir, ''generated-private-key.txt'; or af6d14e9d........pem'); if FileExists(LRoot) and FileExists(LCert) and FileExists(LKey) then begin SSL.SSLOptions.RootCertFile := LRoot; SSL.SSLOptions.CertFile := LCert; SSL.SSLOptions.KeyFile := LKey; SSL.SSLOptions.Method := sslvTLSv1_2; SSL.SSLOptions.Mode := sslmServer; SSL.SSLOptions.SSLVersions := [sslvTLSv1_2]; SSL.Enabled := True; Log.Info('SSL.Enabled listening Port[' + IntToStr(SSL.SSLPort) + ']', LOG_MAIN); end;
  9. Hi I am using this code it may help you TdmLoginModule = class(TDataModule) qryUser: TFDQuery; qryUserRoles: TFDQuery; private { Private declarations } function LDAPLogin(ADomain, AUserCode, APassword: string): Boolean; public { Public declarations } function UserLogin(ADomain, AUserCode, APassword: string): Boolean; end; function TdmLoginModule.LDAPLogin(ADomain, AUserCode, APassword: string): Boolean; var hToken: THandle; begin Result := False; if (LogonUser(pChar(AUserCode), pChar(ADomain), pChar(APassword), LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, hToken)) then begin CloseHandle(hToken); Result := True; end; end; function TdmLoginModule.UserLogin(ADomain, AUserCode, APassword: string): Boolean; var I: Integer; AuthSuccess: Boolean; begin Result := False; AuthSuccess := False; if (Trim(AUserCode) = '') or (Trim(APassword) = '') then Exit; if Trim(ADomain) <> '' then begin AuthSuccess := LDAPLogin(ADomain, AUserCode, APassword); if not AuthSuccess then Exit; AUserCode := AUserCode + '@' + ADomain; end; ................ Just disregard AUserCode := AUserCode + '@' + ADomain; I just use it for domain users for internal reasons. Other than that Above code works That is it.
  10. Yesterday I met a young developer and he asked me what tools I use for development of web apps. I said Delphi/uniGUI. He has never heard of Delphi. This explains 4% of 18-29 age group votes of this thread. It is sad to see that your number one development tool never got enough attention (I dont blame Borland for this). It is the tools like uniGUI make Delphi still shine! +1 for 50-59
  11. Mehmet Emin

    Open Form

    Probably calling in initialization will do it initialization RegisterClass(TxFrmBase);
  12. I see the content of the previous open form and when I inspect elements I can confirm that form has smaller size. I've been using uniGUI for almost a year but I am still not confident of layouts. May me I should first learn ExtJS. For example today I spent lot of time to make label component with html content to expand and push those other components below for the just dynamic height and found that I can set layoutconfig.height to "auto" I will prepare a test app and attach here. thank you.
  13. I also realized that the above code does not help all times. Only setting form's style during form.resize helps me.
  14. This is the only solution I have found to make my forms full screen. function form.resize(sender, info, eOpts) { sender.setStyle('height: 100%'); sender.setStyle('width: 100%'); } Can anyone explain me what I am doing wrong? my AlignmentControl is uniAlignmentClient all components aligned max but the form still respects ClientHeight and ClientWidth without above JS code.
  15. Without setting these two properties I cannot get my forms full screen. procedure TfrmSelectVisitTypem.UnimFormScreenResize(Sender: TObject; AWidth, AHeight: Integer); begin ClientHeight := AHeight; ClientWidth := AWidth; end;
  16. Hi, Back to basics. What exactly ClientHeight does when form's AlignmentControl is uniAlignmentClient? I have my forms with AlignmentControl uniAlignmentClient but just realized that ClientHeight is limiting forms height. Thanks
  17. @Hayri ASLAN Thank you, please also consider adding reCAPTCHA v3 support (mobile and desktop) it seems more mobile friendly and just java script (no control on the website if I understood correctly) may be it will be easier to integrate.
  18. I am also trying to use this component on a mobile registration form and I get the same error. I dont know uniGUI library's internals but I copied a code from TUnimMap into TUniReCAPTCHA and the error message disapared. But this time when I try to use it on phone the ReCAPTCHA popup window does not fit into view. procedure TUniReCAPTCHA.ConfigJSClasses(ALoading: Boolean); begin JSObjects.IsMobile := True; JSObjects.DefaultJSClassName := 'Ext.Container'; end;
  19. This way it is working. And it seems to solved my problems. I will post to this thread if I find any other problem. Thank you. procedure TfrmMainm.MapAjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings); begin if EventName = 'afterupdatehtml' then begin CreateMapMarkers; end; end;
  20. Hayri The code you sent solves the issue I reported; BUT now my map markers are not visible. And I need to show markers on the map Thanks
  21. Marzio, I have not tested but as long as you add the external files paths to UniServerModule and use the matching class names in UniNativeImageList it should be possible.
  22. Hayri Aslan Teşekkürler, I've the latest release version installed and if you send me a patch when available I will be happy to test it since I am in lockdown Istanbul. Thanks
  23. I've created an empty mobile project. At first access page loads fine (map displayed) After the second refresh (even empty cache and hard reload) map disappears (grey color with layer and zoom indicators visible) After this point map is visible only if do a rotate or resize. Please uniGUI team I have a project delivery on Monday and I still ask customer to rotate their phones to see the map for testing.
×
×
  • Create New...