Jump to content
uniGUI Discussion Forums


uniGUI Subscriber
  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by chefdackel

  1. chefdackel

    Design question / your experience / advice

    oh, no answer until now... Let me think about it over the weekend, I am in the same situation to build a "general" GUI for all coming unigui projects.
  2. chefdackel

    Theme playground: Azzurra

    I just played a bit with the Azzurra theme for ExtJS4, looks not bad so far: the only thing I had to combine the offered CSS files in a size group (small, medium, large) and for every color to one big file and then compress this file, even it is 800kb in size. Maybe something I did not find out to get smaller sizes, but it works for the little demos... Info for commercial theme Azzurra: https://store.codaxy.com/Themes/Azzurra or have a look at this topic: http://forums.unigui.com/index.php?/topic/4154-azzurra-theme-from-unigui/?hl=azzurra
  3. chefdackel

    Nice looking apps with UniGUI?

    examples (link): here in the forum...
  4. I did my last steps with unigui in 2015 and want to restart now, but without upgrading Delphi. And I don`t (yet) have the Delphi subscription. 1. Are there any known problems using unigui with Delphi 10 Seattle (not update 1, the initial version of Seattle)? 2. Are there any known problems in passing unigui program source between Delphi 10 Seattle and Delphi 10.2 Tokyo? 3. When mainly using the unigui stuff, is there a reason to upgrade to Delphi Tokyo (now) and not go on with Delphi Seattle (say until the end of the year)? Best Regards Peter
  5. In this article: http://mc-computing.com/databases/Delphi/WebServers/WebServers.html the author says the following: >> Apache will run CGI exe's and ISAPI dll's. However, because the ISAPI dll's are reloaded each time that they are called, they run at the same speed as an *.exe. (Thus, IIS is much faster.) << and from the Apache documentation of 2.4: http://httpd.apache.org/docs/current/mod/mod_isapi.html >> There is no capability within the Apache server to leave a requested module loaded. However, you may preload and keep a specific module loaded by using the following syntax in your httpd.conf......: << Is this still true for the latest stable version of Apache on windows?
  6. its two years past and only a playground, until then I did no serious programming with unigui, but maybe this can help: http://forums.unigui.com/index.php?/topic/4154-azzurra-theme-from-unigui/?hl=azzurra and here some more topic about azzurra: http://forums.unigui.com/index.php?/topic/5061-theme-playground-azzurra/?hl=azzurra Best Regards Peter
  7. chefdackel

    10 general design questions...

    Starting a new project with UniGui I want to be sure to understand the main aspects of GUI design with UniGUI. Please correct me if there is something wrong with these statements or if there is general better design of some facts. Thank you! ========================== 1. If possible avoid the use of free forms - because they are not framework controlled and the use of variables, (unigui-)controls etc. in these forms are not thread safe. ========================== 2. When using an unigui wizzard created application form, the framework controls the thread safe use of variables, (unigui-)controls etc which are part of this application form. So when defining a "myvar"variable in the public part of the application form class, this variable can be accessed around the session which creates the application form, and no further attention has to be turned on shielding it from other sessions. ========================= 3. Not every third party control which is used in application forms is automatically thread safe - if the control itself is not designed in this matter, there may be problems when using them in an internet application. An example may be printing tools/controls. ========================== 4. Because application forms are instances of UniMainModule, every session which creates this form has its own instance of the form, f.e.: function Form_Upload1: TForm_Upload1; begin Result := TForm_Upload1(UniMainModule.GetFormInstance(TForm_Upload1)); end; ========================== 5. Data access components are to be placed in UniMainModule or a Datamodule which is created with the UniGui wizzard, so this Datamodule has also to be an instance of UniMainModule. ========================== 6. For data access its ok to put the grid, the query and the datasource on an application form, only the database connection component itself has to placed on the UniMainModule or UniMainmodule controlled Datamodule. ========================== 7. Application forms never have to be created manually. As soon as something on the application form is accessed UniGui will create the form. So when I want to init some data access on the application form its ok to build a procedure "OpenData" in the application form (assuming query and datsource are on the application form). When calling myAppForm.OpenData f.e. from the MainForm the application form will be created from UniGui and can be shown with myAppForm.show: procedure TmyAppForm.OpenData begin Query1.open; Query2.open; Query3.open; end; The best place to clean up data access then is in the OnClose event of the application form: procedure TmyAppForm.OnClose begin Query1.close; Query2.close; Query3.close; end; ========================== 8. When closing the application form with myAppForm.close the form and the ressources are freed UniGui controlled. ========================== 9. It is ok to use some kind of "global variables" as long they are defined in the UniMainModule. So every session has its own set of these (session-)global variables. ========================== 10. I have a GUI model where in the mainform there are the buttons "customer" and "product". When I click on the "customer"-button, an application form is created. On this application form I have a panel which is the parent of different frames. When first displayed there is a "list"-frame created with a grid which lists the customers. When I want to edit a specific record, I close the "list"-frame and create a "detail"-frame where the detail data can be edited. After posting the data the "detail"-frame is closed and the "list"-frame is created again. Data access components grid, query and datasource for the grid are on the "list"-frame, data access components query and datasource for the data edit components are on the "detail"-frame. They use the same data connection component on the Datamodule. On every creation of a frame I open the queries, when closing a frame I close the queries. The question is: because of using frames (with the panel parent on an application form) and the described data access, is this model still recommended and thread safe? brfc
  8. chefdackel

    Licensing and protecting unigui apps

    yes, please.
  9. chefdackel


    As far as I see the services were down not only 12 hours, but over the weekend, much too long. Here you can see the rest of the service status history: http://downuptime.net/contabo.com.html
  10. you can change the code from this example, here you find the essential functions which we expect when uploading file(s): http://forums.unigui.com/index.php?/topic/4305-uniguifineuploader/ brfc
  11. chefdackel

    Hosting - Cloud or On Premise?

    none of the cheaper than cheaper ones, yes. Support for contabo here in germany is excellent, really. But the VPS XL I compare here with the big sized VPS from Strato and HostEurope seems to be based on desktop hardware, not server dedicated hardware (?). Server Manager with Server 2012 on the Contabo VPS starts in 1/4 of the time than on the Strato VPS when accessing with Remote Desktop. Every VPS has its pros and cons: with Strato you get 16 vCores and 16GB Ram. With HostEurope you get only 8 vCores but very fast SSD access, but you cannot install Server 2012 as for now. And Contabo lacks in hardware benchmarking in most points compared to the others. Not to forget that different providers VPS maybe based on different virtualization software (Hyper-V vs Virtuozzo) where you are responsible for updates or not. And there are the little bad things which you may see only when you have installed all your stuff and then install your famous resource checking tool..... well, look at Strato, they manage the memory of the VPS in such a way, that I had no chance to get information about the actual availible memory of the VPS to manage critical situations in memory comsumption, that beast is named "dynamic memory". I don`t like it. And think about hosting you UniGUI applications SSL-secured. Not every provider can offer optional more IP-addresses which you need for different SSL-domains on the same VPS. So I think there is not "THE BEST VPS", see what you want to install and what you have to run on your VPS, then a very detailled view on the VPS hardware and software of the different providers is recommended. brfc
  12. chefdackel

    Bootstrap Theme

    looks great. Two things in my application where the bootstrap theme does not show elements like expected: 1. navigation buttons in grids: 2. unispeedbutton: The unispeedbutton can be replaced with another control, but any suggestion for the grid navigation buttons? brfc
  13. chefdackel


    How to set visibility of the badgetext by code? Explanation: I want to show the recordcount of a db table with the badgetext. As long as the recordcount is "0" I don`t want to show the badgetext, if the recordcount is not "0" I want to show the badgetext (by code): if dbtable.recordcount =0 then [badgetext.visible=false] else [badgetext.visible=true] brfc
  14. chefdackel


    great, for UniGUI it may look like this, here for the TabControl (thanks to Photoshop), more usable for most of us would be a PageControl? ...there is few space for the badgetext. With UniTabControl and UniPageControl, even when putting some blanks at the end of the caption for a tab, the caption is trimmed from the blanks. Maybe there will be a need to change the caption of tabs in runtime, so f.e. "Tab1" if there is no value for the badgetext (and the badgetext is not shown at all), and f.e. "Tab1..." if there is a value for the badgetext. Only an idea. brfc
  15. chefdackel


    thank you very much. As the badgetext is created for buttons, its not so easy to adapt it to TabControls or Pagecontrols, such as here (see image down)? I could not make that work, but that would be another great field for badgetext: brfc
  16. chefdackel

    One solution to hide the entire URL...

    and to get all functions running with one and only domain name. So you can host "mydomain.com" at provider A as a classic website (www.) and as domain for your mail, but also create a subdomain ("subdomain1.mydomain.com") and point that subdomain to provider B (111.222.333.444), where you host your VPS. Thats also important if you want to use SSL with your domain, get a wildcard certificate for your domain and run the secured UniGUI applications on "subdomain1.mydomain.com". So you even can change the VPS where you host your UniGUI applications very easily: change the DNS entries of the subdomain and you are done. brfc
  17. chefdackel

    UniTouch in production

    thank you for your exploring work with mobile components, we all who actually don`t work with the mobile components can only profit from the time which you spend on the project. brfc
  18. chefdackel


    yes, just as I remarked some posts above. I think I have a solution, just to check it next week and then I post it here. brfc
  19. chefdackel


    What exactly is the problem? brfc
  20. chefdackel

    Possible site infection ?

    Fixed? Editing by FM? The interesting question is: if this is an UniGUI app, where did the malware came from? brfc
  21. chefdackel

    How to install Version 0.98 ?

    after ordering UniGUI you get the URL for the customer portal. Just checked the customer portal for downloading .1111, everything is online. brfc
  22. chefdackel

    Some wierd behavior, need help

    I really do not use FastReport, but check if the images are integrated into the report using absolute paths, so this path may change when you deploy to the webserver? brfc
  23. chefdackel

    Performance on different Webserver

    really? I never played with Apache, but when running ISAPis please see: http://forums.unigui.com/index.php?/topic/4346-iis-much-faster-than-apache-for-isapi-dll/ brfc
  24. chefdackel

    ProgressBar for FileUpload

    because uploading in UniGui is limited in some essential functions (restrict to defined filename extensions, restrict uploading of files larger than xxx xB before (!) uploading, showing progress of uploading and others) try this one: http://forums.unigui.com/index.php?/topic/4305-uniguifineuploader/ I had problems with the delphi processing code from ganzqui with larger files (AV), maybe you can manage it with some other delphi processing code. So you are right: an upload component integrated in UniGui with all the bells and whistles is a candidate to be on top of the todo-list. brfc
  25. chefdackel

    10 general design questions...

    thank you for pointing to this alternative, maybe I did it too complicated. So all logic is implemented in the MainForm of UniGUI, where you have two (2) panels as parents of the list and detail frames? As far as I see the ApplicationForms are instances of the MainModule which deals with the different sessions, and the MainForm is also an ApplicationForm. Ok, its not the same but something similar my approach, only that I use different Application forms and in the form only one (1) panel as the same parent for the list and detail frame. That takes me back to my point (10) of the initial post, that we don't have to deal with threads and sessions, and components and variables in the list/detail frames when modelling programs this way, all this session shielding stuff is managed by the UniMainModule? brfc