Jump to content
uniGUI Discussion Forums

Abaksoft

uniGUI Subscriber
  • Content Count

    726
  • Joined

  • Last visited

  • Days Won

    41

Abaksoft last won the day on April 27

Abaksoft had the most liked content!

Community Reputation

179 Excellent

About Abaksoft

  • Rank
    Advanced Member

Contact Methods

  • Website URL
    http://www.abaksoft.net

Profile Information

  • Gender
    Male
  • Location
    Algeria

Recent Profile Visitors

921 profile views
  1. Abaksoft

    Recommendations for hosting

    Hello Friends, Using Unigui Application on a server for production, requires some installations and settings. You have to install on this server : - your RDBM - UniguiRuntime - HyperServer_Config - your Service - Your Application - Start Service - Allow FireWall (port 8077 .... + yourapplication) Here is an easy way to do it : In this example we use FireBird as RDBM and MyApplication as Service. ==================================================== 1. Compile and build this program (Install.dpr) 2. Copy on CD\Res your 4 exe files : example : - Firebird server : Firebird-3.0.3.32900_0_x64.exe - Unigui RunTime : FMSoft_uniGUI_Complete_runtime_1.90.0.1503 - HyperServer : FMSoft_uniGUI_HyperServer_Config_1.90.0.1503.exe - Your Application Installer (use for example InnoSetup) and name the output : H.exe 3. adjust the CD\Res\Config.ini : VApplication = 1.00 ( this is yourApplication version) VRuntime = 1.90.0.1503 FBFile = Firebird-3.0.3.32900_0_x64.exe 4. Run Install.exe ==================================================== Have fun Easy_Install.zip
  2. Abaksoft

    AID MOUBAREK 2019

    It's time to take cakes.
  3. Abaksoft

    Bug with OnExit/OnClick ???

    Hello Goldline, There is no Bug with that. See, in attachment the correct behavior. Note, that Showmessage, shows the latest message (Asynchronous Constraint): It gives the impression that the event is not executed. But if you put a global variable as in attachment example, you will see variable i is incremented twice : OnExit and OnDoubleCLick. See the Mega DEMO : this will give you a good idea on Unigui. Regards. Onexit.zip
  4. Abaksoft

    Recommendations for hosting

    Hello Paul, I did not retreive it, but i will explain here, step by step, what i did with my free home server (This work from Oct 2015 without problem). A. Introduction 1.The first thing is how to start an Unigui application: - either via IIS (ISAPI dll): MyIP_ServerAdresss / MyAliasFolder / MyApplication.dll - Or via Service: MyIP_ServerAdresss / MyApplcation: MyPort (MyPort = 8077, 8078, 8079 ...) Follow the deployment steps in the Developer Manual: http://www.unigui.com/doc/online_help/deployment.htm (My preference, today (May 2019) goes for the Service. Since August 2018 use the FMSfot HyperServer technology and the Hyperserver requires a Standalone Application: it's very simple to set up Follow the steps: http://www.unigui.com/doc/online_help/hyperserver.htm) 2. Once your application launches well on your Development Station, you can then deploy it on a good PC (i5, 8 GB RAM, preferably Windows Server Edition) On ebay, you can have Genuine Windows Server Edition Licenses for € 8. Do not forget to install the Runtime on this PC: FMSoft_uniGUI_Complete_runtime_1.90.0.1501.exe (May 2019) 3. Now connect this PC (server) to the internet via a simple modem. 4. Open your favorite browser and tape: MyIP You will find your Internet IP address: xx.xx.xxx.xx 5. This IP address is not that of your PC (server), but that of your Modem (telephone line) So if you try to launch your application from a smart phone connected to the internet from a chip (not wifi) for example: xx.xx.xxx.xx / MyApplcation: MyPort This should give you the homepage of your Modem and you will not see your application launch! The Solution and this is the most important step: Tell your MODEM that this IP address (xx.xx.xxx.xx) should point to your PC (server). To do this : 5.1 Assign a static address to your PC (Server): example 192.168.1.2 (see picture) 5.2 Enter your MODEM via Browser: 192.168.1.1 5.3 Look for something like: Advanced 5.4 DMZ> NAT 5.5 DMZ: Activated 5.6 Assign: the pointing address: 192.168.1.2 5.7 Save and Restart your Modem. End. Now your modem, as soon as it is called xx.xx.xxx.xx, from the outside, it will point to your PC (Server) 6. Test from a smart phone connected to the internet from a chip (no wifi) for example: xx.xx.xxx.xx / MyApplcation: MyPort And it will work 7. Do not forget to install a good UPS, voltage stabilizer to your PC (Server). END. Edited : I forgot ! B. Fixing IP adress Now, your internet IP adress points to your PC (Server) OK. But this IP adress remains 24 h only and will automatically change to morrow. Solution : 1. Buy a Domain Name with an IP Static yy.yy.yyy.yy from internet : there are a huge providers 1.1 Run your Unigui Application like this : - ISAPI : yy.yy.yyy.yy/MyAliasFolder/MyApplication.dll - Or Service : yy.yy.yyy.yy/MyApplcation:MyPort (MyPort = 8077, 8078, 8079 ...) 1.2 or smooth call : - ISAPI : MyDomaineName.com/MyAliasFolder/MyApplication.dll - Or Service : MyDomaineName.com/MyApplcation:MyPort (MyPort = 8077, 8078, 8079 ...) 2. Or use a Free dns like NoIP or my prefered Dynu dns : https://www.dynu.com/ 2.1 Sign Up and follow the steps 2.2 Download their great tool : Dynu IP Update Client this will capture your daily dynamic IP adress and fixed it as an alias. Example : YourSubDomaine.dynu.net point always to your PC (server) 2.3. Run your Unigui Application like this : - ISAPI : YourSubDomaine.dynu.net/MyAliasFolder/MyApplication.dll - Or Service : YourSubDomaine.dynu.net/MyApplcation:MyPort (MyPort = 8077, 8078, 8079 ...) Have fun Best Regards
  5. Abaksoft

    Update and awareness.

    Hello everyone, This is not related to UNIGUI, please do not see here any innuendo. i would only like to know how are you doing with your customers When you develop a program, very often you do not think to dissociate it into several sub programs.We send everything in one piece. And one day, you realize that there is a history of bug fixes and a history of improvement (offer new options). And so, we should not charge the customer for corrective updates, but only for scalable updates. Has anyone ever thought about that ? How can we do it with Unigui ? For example : a MainForm call other Unigui applications... then, for fixing bug we operate only on theese applications !? Thx.
  6. Abaksoft

    Recommendations for hosting

    Hello Paul 1. You can create your own free server hosting (very easy) at home. That wokrs fine. Will try to find the step by step post in the forum and come back here... 2. For professional hosting you can try : cheap and great. www.Contabo.com Regards
  7. Abaksoft

    How to know the position relative to the form ?

    Can you explain what are the benefits of creating components dynamically ?
  8. Abaksoft

    How to use UniReCAPTCHA?

    @ 55143681, For work, you must connect your PC to internet, first.
  9. Abaksoft

    Ramadan Mubarak

    Hello Rencarnacion Muslims celebrate, all years a holy month, named "Ramadane". During this month, we must fast. Many benefits bring this fast: - Get closer to God - Getting closer to the poor - Better health - A spirituality elevation In the end, we ask God's approval to register among His best beings and to grant us paradise. Aaaaaameeeen. (Sorry if it comes out of the forum context). Edited : Oh...No differences between Hebrew religion, Christian religion and Islam. We are all brothers and Islam is the last UPDATE.
  10. Abaksoft

    رمضان مبارك 2019

    رحمة، مغفرة ، و عتق من النار ان شاء الله ،و لا ننسا ابدا اخواننا الفلسطينيون فقلوبنا معكم و اذكارنا لكم
  11. Abaksoft

    How can I access Local Storage

    Hello Friends, Finally, a big thx to Hayri ASLAN, who corrected my code. Thank you to everyone who participated in this topic : Paul, Sherzod and Hayri For those who are interested //********************************************************************** // METHODE without define (JavaScript Code) on Main > Script // Big Thx to Hayri ASLAN [Unigui Forum 24/04/2019] // Benefict to Use LocalStorage instead of Cookies : // 10 Mo Persistent data on Client Side (even with Refresh browser) // Only strings are store //********************************************************************** //1. To Set the Key 'K1' procedure TMainForm.UniButton1Click(Sender: TObject); var st:string; begin st:=UniEdit1.Text; UniButton1.JSInterface.JSCallGlobal('localStorage.setItem', ['K1', st] ); // Key , Value (always string) end; //2. To retreive Value of 'K1' on UniEdit2 procedure TMainForm.UniButton2Click(Sender: TObject); begin with UniEdit2.JSInterface do JSCall('setValue', [jsstatement('localStorage.getItem("K1")')]); // important : Key must be Quoted " " end; //3. To remove Key 'K1' procedure TMainForm.UniButton3Click(Sender: TObject); begin UniButton3.JSInterface.JSCallGlobal('localStorage.removeItem', ['K1']); end; All the Best LocalStorage2.zip
  12. Abaksoft

    How can I access Local Storage

    OK thx
  13. Abaksoft

    How can I access Local Storage

    Thank you Sherzod for the fast reply, But to display the value on UniEdit1.Text Nothing !?
  14. Abaksoft

    How can I access Local Storage

    Apologize for my JavaScript ignorance 1. I define On Main : Script function setItem(key, value) { localStorage.setItem(key, value); }; function getItem(key) { return localStorage.getItem(key); }; 2. Then to Set / Get : but Not work !? // To Set the Key "lastname" procedure TMainForm.UniButton1Click(Sender: TObject); begin UniButton1.JSInterface.JSCallGlobal('setItem', ['"lastname"', '"Smith"'] ); end; // To retreive Value of "lastname" on UniEdit1 procedure TMainForm.UniButton2Click(Sender: TObject); begin UniEdit1.JSInterface.JSCallGlobal('getItem', ['"lastname"']); end; // To remove Key procedure TMainForm.UniButton3Click(Sender: TObject); begin UniButton3.JSInterface.JSCallGlobal('localStorage.removeItem', ['"lastname"']); end; Any idea Sherzod ? Thx
  15. Abaksoft

    How can I access Local Storage

    Thank you Hayri ASLAN, Interesting ! But where in Delphi, do we put this ? A simple Example please : Unibutton1 --> Click --> Set UniButton2 --> Click --> Get UniButton3 --> Click --> Remove Best regards
×