Jump to content

Fred Montier

uniGUI Subscriber
  • Posts

    538
  • Joined

  • Last visited

  • Days Won

    83

Posts posted by Fred Montier

  1. GMail discontinued support for third (unknown) parties app use their server to send e-mail.

    I know this is quite simple for most users here but there are some novice programmers who either haven't read the uniGUI manual or are too busy trying to reach the best level of programming.

    Sending email through uniGUI app is the same as VCL app. There is no difference at all. As many people ask me about this, I made a small example that allows you to send emails through GMail, Yahoo and OutLook. The security DLLs are already together and the program is made for 32 bits. If you need it for 64 bits, use the corresponding DLLs.

    It is commented in such a way that you will easily be able to adapt your favorite applications and webmail into your app.

    Note that GMail blocks the sending of email by its servers using other lesser known applications. Set up your GMail account to send via any app at the link:
    https://myaccount.google.com/lesssecureapps?pli=1

     

    SmtpIndySendMail2.jpg

    SmtpIndySendMail3.jpg

    SmtpIndySendMail1.jpg

    Project available only in the pack Silver at http://unigui.express

    • Like 6
    • Upvote 2
  2. Another detail: 32bits  Apache almost never have some kind of problems with no need to reset.  64bits Apache almost every week had to reset due to memory leak. Still , no reason for the memory leak in 64bits since is the same code just recompile to 64bits. In IIS, just forget about. Set it up and forget that is there.

  3. The isapi memory format should match the Apache version memory allocation also. But any format will work in IIS. It's theirs technology and of course, despite being a standard, MS apparently do better. Keep in mind that a lot of stuff in Apache are done by third party, like modules. That's is a strength and at the same time a weak point: lack of documentation.

    As a personal experience, all 32bits ISAPI with 32bits Apache work better (in instability wise) than 64Bits architecture. But it's is a anecdotal point of mine and take with a grain of salt. Anyways, I use IIS for documentation reasons and support from 3rd parties/Friends. My time costs money and time lost find out what is wrong with a very confuse, ridicule params configuring interface, is money wasted (allow for all, deny...  "fork" ! ON and OFF will do better, shorter and straight  !).

    No wonder that a lot of products exists just to configure Apache without direct edit of  its text config file. That itself is a prof of my point.

    I not such a great fan...

  4. Images. when  internal, they work as resource. They will be extract to cache or temp folder and that takes time.

    IN a large system (more than 50 forms, and 100 concurrent sessions),  you will see the difference in performance very clearly.

    You will find more and ready suppont to IIS than to Apache, for obvious reasons. The Delphi community programming to web is full of misconceptions and nut heads (as taking linux seriously at this time and age when Windows is starting to take the heat by google and amazon with theirs new OS).

  5. a)       From the point of view of size, if it works properly in standalone, should work in  ISAPI  as well. The codes are exactly the same except for the “first line”
    - You might have a lot of Standalones using different ports.  Have tried with 20 in the same cloudserver with just 2Gb ram. But just to see how much it could hold. Not a pratical approach.

    b)      Is there a way to increase the stack or something like this ?
    - Managing your forms help but just in large projects. See Best Practices in manual.

    Any suggestion is welcome. I think there is very few possibilities for the optimization of the code. The size of the DLL is around 20 MB
    - Using external images always. The stateful format (used in uniGUI, Intraweb) is not intended to work with thousands of concurrent conecctions. If this is your case. Other wise, performance problems is more related to DB and programmer skill, tuning and monitoring.

  6. On 8/6/2020 at 7:19 PM, SergioFeitoza said:

    Dear Ron

    Thank you very much and congratulations  for the high quality and didactics of the material that you included in this post. It will be very useful for me to clean up  and to  adjust what I have done after 3 weeks trying to deploy ISAPI + Apache.

    I have two small doubts in the file httpd.conf:

    a)      In the # DirectoryIndex part is written

    b)      <IfModule dir_module>

    c)          DirectoryIndex index.html

    d)      </IfModule>

     

    ·         Should I include      “DirectoryIndex index.dll … before….  index.html  ?

    ·         If , instead of the directory C:/apache24/test"  I had  two directories (two apps) named  testA and testB and including testA.dll and testB.dll , could I , instead of naming index.dll,  to write something like:  ….   Directory testA.dll testB.dll  index.dll    ….  ?

     

    As finding the right post in the forum  is frequently difficult, in the middle of so many posts,

     I suggest to  FMSOFT team to  put these files and text  in the first line of the page of the Manual :

      http://www.unigui.com/doc/online_help/apache_2_2.htm

     

     READ FIRST THE FILES:

    C:\Apache24\INSTALL.txt

    C:\Apache24\conf\httpd.conf

    In this post from Ron, there is an example project, with windows binaries of Apache 2.4 from ApacheHaus, in the attached file.

    1) Unzip to C:\Apache24

    2) Go to \bin subdir and run httpd.

    3) Open http://localhost:81/test in browser, to load test project in \test subdir.

     The only modifications to the httpd.conf that I did was

    1) For the mime section: AddHandler isapi-handler .dll   

    2) <Directory "C:/apache24/test">
        Options FollowSymLinks ExecCGI
        AllowOverride None

        
    DirectoryIndex test.dll
        Require all granted
    </Directory>

    Alias /test "C:/apache24/test"

    P.S: The ISAPI module was already activated in the httpd.conf. It took about ten minutes to make this example project.

    Thanks again Ron,   I owe you this

    Making your DLL the default indexer is not such a good idea. And again, OmniSecure, despite  being old, works at the same level of performance as Apache HTTPd (even better and more stable).You had some headaches trying to do that configuration with just one server, imagine doing that with dozens, mixing PHP and ISAPI, admin panels, domains and folder alias, prefix etc...  etc. .

    There is a lot of hype about Apache not justified nowadays. All windows professional and up versions  has IIS by default. And since your probably will end up running  in a cloud in a Windows Server X version, better do in IIS at once.

    The Apache module to load ISAPI is a third party project not very stable.  Just in version  2.2 and newer became more reliable. But I'm tired of it since I have a lot of free HTTPd available more well documented and stable.

    TL;DR: I've had a lot of problems with Apache for Windows using ISAPI and never had the same problems with same ISAPI using IIS. Even thought using CGIExpert, IntraWeb,  , uniGUI, Delphi ISAPI in the same computers with a lot of projects. Never saw a big project for ISAPI using Apache for windows. Except in Linux distro's. Since we´re not going to use Linux, there is no competition here just misinformation.

  7. Yes, of course. That's why I placed the function in a button for you to pick up how to use.
    I haven't found nothing in Ext.JS or in uniGUI about this subject. Buts this is a standard method  using JS in the latest browser version. Not tested in Iphone Safari.
    I do appreciate any feed back about it. I have just Samsung and Xiomi smatphones.

  8. This example demonstrates how to lock the position of the Mobile Browser so that there is no change in the rotation of the screen. Very simple in FMX but a little inaccurate in the browser and completely unreliable using CSS.

    Once you set the lock in Portrait, turning the smartphone to landscape does not realign. This is very useful if you want to keep a fixed formatting in your APP (as in TikTok, but here in the browser).

    You have to run to see the effect.

     

    Mobile-LockByJS.jpg

    Project available at https://unigui.express

    • Like 2
  9. A simple example, but a lot of work: support the use of Emoji directly in edits for chats and other programs aimed at social interactivity.

    This is an example to be used with only an edit control (or dbEdit) but that does not create a problem with Ext.JS CSS. Other libraries I tested worked better but created incompatibility in the interface that I was unable to solve.

    Visit http://www.unigui.com.br to purchase books, packs of projects for unigui and other resources and services.

    Soon our website https://www.unigui.express (in English) will be live. Meanwhile, English channel on Telegram: https://t.me/uniguiexpress

    EmojiButton.gif

    Project available at https://www.unigui.express

    • Like 2
    • Upvote 1
  10. List of all supported Languages/Dialects at this time.
    [['Afrikaans',       ['af-ZA']],
     ['Bahasa Indonesia',['id-ID']],
     ['Bahasa Melayu',   ['ms-MY']],
     ['Català',          ['ca-ES']],
     ['Čeština',         ['cs-CZ']],
     ['Deutsch',         ['de-DE']],
     ['English',         ['en-AU', 'Australia'],
                         ['en-CA', 'Canada'],
                         ['en-IN', 'India'],
                         ['en-NZ', 'New Zealand'],
                         ['en-ZA', 'South Africa'],
                         ['en-GB', 'United Kingdom'],
                         ['en-US', 'United States']],
     ['Español',         ['es-AR', 'Argentina'],
                         ['es-BO', 'Bolivia'],
                         ['es-CL', 'Chile'],
                         ['es-CO', 'Colombia'],
                         ['es-CR', 'Costa Rica'],
                         ['es-EC', 'Ecuador'],
                         ['es-SV', 'El Salvador'],
                         ['es-ES', 'España'],
                         ['es-US', 'Estados Unidos'],
                         ['es-GT', 'Guatemala'],
                         ['es-HN', 'Honduras'],
                         ['es-MX', 'México'],
                         ['es-NI', 'Nicaragua'],
                         ['es-PA', 'Panamá'],
                         ['es-PY', 'Paraguay'],
                         ['es-PE', 'Perú'],
                         ['es-PR', 'Puerto Rico'],
                         ['es-DO', 'República Dominicana'],
                         ['es-UY', 'Uruguay'],
                         ['es-VE', 'Venezuela']],
     ['Euskara',         ['eu-ES']],
     ['Français',        ['fr-FR']],
     ['Galego',          ['gl-ES']],
     ['Hrvatski',        ['hr_HR']],
     ['IsiZulu',         ['zu-ZA']],
     ['Íslenska',        ['is-IS']],
     ['Italiano',        ['it-IT', 'Italia'],
                         ['it-CH', 'Svizzera']],
     ['Magyar',          ['hu-HU']],
     ['Nederlands',      ['nl-NL']],
     ['Norsk bokmål',    ['nb-NO']],
     ['Polski',          ['pl-PL']],
     ['Português',       ['pt-BR', 'Brasil'],
                         ['pt-PT', 'Portugal']],
     ['Română',          ['ro-RO']],
     ['Slovenčina',      ['sk-SK']],
     ['Suomi',           ['fi-FI']],
     ['Svenska',         ['sv-SE']],
     ['Türkçe',          ['tr-TR']],
     ['български',       ['bg-BG']],
     ['Pусский',         ['ru-RU']],
     ['Српски',          ['sr-RS']],
     ['한국어',            ['ko-KR']],
     ['中文',             ['cmn-Hans-CN', '普通话 (中国大陆)'],
                         ['cmn-Hans-HK', '普通话 (香港)'],
                         ['cmn-Hant-TW', '中文 (台灣)'],
                         ['yue-Hant-HK', '粵語 (香港)']],
     ['日本語',           ['ja-JP']],
     ['Lingua latīna',   ['la']]];

    • Like 1
  11. Hello people...

    This is the long-awaited and sought-after example of voice recognition.
    An important warning: IT ONLY WORKS ON CHROME!
    It's not that I'm a fan of Google or Chrome but technology is only available in this browser.

    This application is also on sale with more resources and documentation and without any dependence on the HTML home page using only uniGUI resources. Contact me if you are interested via Telegram: https://t.me/fredmontier or Whatsapp + 55-11-98620-7676

    However, the source code is here and you can adapt it according to your needs and goals. Totally functional !


    Instruction:
    1- Open your page in CHROME. Will work in any other browser.
    2- Select you language and/or dialect
    3- Say whatever you want to say. It will recognize your voice and convert to text. Also, shows how to import the result to uniGUI memo and ALSO how to have live feed of what is being said in uniGUI memo control.

    Easy-peasy, lemon squeezy !

    You can use these phrases to add punctuation to your text:

        Period
        Comma
        Exclamation point
        Question mark
        New line
        New paragraph

    Notes:

        Punctuation works in German, English, Spanish, French, Italian, and Russian.
        In Spanish, punctuation at the beginning of the sentence, like ¡ or ¿, must be typed.

    unigui-VoiceRecognition.gif

    LIV-2-cap-81.jpg

    LIV-2-cap-82.jpg

    LIV-2-cap-83.jpg

    unigui.com.br-speechrecognition.rar

    • Like 3
×
×
  • Create New...