Jump to content

erich.wanker

uniGUI Subscriber
  • Posts

    867
  • Joined

  • Last visited

  • Days Won

    28

Everything posted by erich.wanker

  1. Test closed 🙂 ThanX 🙂
  2. Hello Farshad, The screenshots of Microsoft defender virus detection: its a Server ( Windows Server Version 1809 (Build 17763.1757) - i connect via RDP -> copy/paste my UniGui.exe to Desktop - start localhost/unigui.dll/server and click "load new Version" ... and Defender gives an Alert The screenshots of virustotal.com: Exe files which are all made with my Win10 Professional Developer PC
  3. Question: How big is a typical EMPTY VCL Application (Project1.exe) in Debug mode) Where can i see in Delphi XE4 what Librays are standard included in a compiled EXE file
  4. i updated my Windows i made a empty VCL -App (vcl_Project1,exe) .. and allso a problem
  5. Yes .. the "Project1.exe" was created in 10 Seconds - a empty new Thing with nothing - just a TuniLabel on Mainform with caption "test"
  6. i created a empty new "stand alone" project.. Delphi XE4 / UniGui 1.90.0.1545 😞
  7. i uploaded my unigui.exe to https://www.virustotal.com/
  8. since the new Virus-definition of Microsoft Defender was installed - all my Unigui.exe are deleted ! AND IF I TRY TO UPLOAD A NEW VERSION - THE DEFENDER DELETES IT ALLSO IN THIS MOMENT if i tell defender to make a "exception" for this file - it doesnt help: the Temp-Name of the EXEfile is allways different Can someone confirm this microsoft-defender behavior if i am the only one - i have a Virus
  9. Hello, it would be vers helpfull if the popup-menu of Stand alone server-trayicon should look like this: Start Application (the standard Webbrowser of the Computer ...) ------------------ Restore Shutdown Nice greetings Erich
  10. short (simple) questions for myselfe: have you spit your servers for application and for database?
  11. Everything in picture 3 what is not in picture 2 should be in the uniCanvas .. The transparent uniCanvas should lay over the unidbgrid ..
  12. i need something allso 🙂 i want to draw over a DBGrid some lines and markers ( i would give the Canvas a pointer-events: none)
  13. .. and the level of support is very hight 🙂 i love unigui 🙂
  14. Perfect ! ThanX .. it works: .x-grid-item-focused .x-grid-cell-inner:before { border: none !important; }
  15. a short video 🙂 i want delete the "blue border" around the cell (OR a SELECTED ROW) if mousedown unigui_border_around_cell_if_mousedown.webm
  16. if i make a mouse down in a not selected cell (or row if row-select = true) a border is shown - on mouse up - the cell or row becomes the focus How can i delete this border for cell-select and row-select? ThanX erich
  17. is where a thread like the "Screen examples of you're application designs" ThanX Erich
  18. OK .. i got it 🙂 this is just for Fingertouch .. 1.) i use: https://github.com/john-doherty/swiped-events/blob/master/src/swiped-events.js 2.) uniscrollbox - ClientEvent - ExtEvent function afterrender(sender, eOpts) { sender.getEl().dom.addEventListener('swiped-left', function(e) { ajaxRequest(sender, '_left',[]); console.log(e.target); // the element that was swiped }); sender.getEl().dom.addEventListener('swiped-right', function(e) { ajaxRequest(sender, '_right',[]); console.log(e.target); // the element that was swiped }); sender.getEl().dom.addEventListener('swiped', function(e) { console.log(e.target); // the element that was swiped console.log(e.detail.dir); // swiped direction ajaxRequest(sender, e.detail.dir,[]); }); } 3.) procedure TyourForm.uniscrollboxAjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings); begin unilabel.Caption:= EventName; end; Hope that someone find this usefull 😉 Nice Greetings Erich
  19. DesktopApp: the hole uniscrollbox should be swipe to left and right .. not the content ! i tried to become a delphi event when i swipe a uniscrollbox (NOT the content..) - but i get error: Cannot read property 'addEventListener' of null For Test -> please put a uniscrollbox1 and a tunihtmlframe1 on a form: Form->OnCreate: unihtmlframe1.HTML.Clear; unihtmlframe1.HTML.Add('<script> '); unihtmlframe1.HTML.Add('class SwipeEventDispatcher { '); unihtmlframe1.HTML.Add(' constructor(element, options = {}) { '); unihtmlframe1.HTML.Add(' this.evtMap = { '); unihtmlframe1.HTML.Add(' SWIPE_LEFT: [], '); unihtmlframe1.HTML.Add(' SWIPE_UP: [], '); unihtmlframe1.HTML.Add(' SWIPE_DOWN: [], '); unihtmlframe1.HTML.Add(' SWIPE_RIGHT: [] '); unihtmlframe1.HTML.Add(' }; '); unihtmlframe1.HTML.Add(' '); unihtmlframe1.HTML.Add(' this.xDown = null; '); unihtmlframe1.HTML.Add(' this.yDown = null; '); unihtmlframe1.HTML.Add(' this.element = element; '); unihtmlframe1.HTML.Add(' this.isMouseDown = false; '); unihtmlframe1.HTML.Add(' this.listenForMouseEvents = true; '); unihtmlframe1.HTML.Add(' this.options = Object.assign({ triggerPercent: 0.3 }, options); '); unihtmlframe1.HTML.Add(' '); unihtmlframe1.HTML.Add(' element.addEventListener("touchstart", evt => this.handleTouchStart(evt), false); '); unihtmlframe1.HTML.Add(' element.addEventListener("touchend", evt => this.handleTouchEnd(evt), false); '); unihtmlframe1.HTML.Add(' element.addEventListener("mousedown", evt => this.handleMouseDown(evt), false); '); unihtmlframe1.HTML.Add(' element.addEventListener("mouseup", evt => this.handleMouseUp(evt), false); '); unihtmlframe1.HTML.Add(' } '); unihtmlframe1.HTML.Add(' '); unihtmlframe1.HTML.Add(' on(evt, cb) { '); unihtmlframe1.HTML.Add(' this.evtMap[evt].push(cb); '); unihtmlframe1.HTML.Add(' } '); unihtmlframe1.HTML.Add(' '); unihtmlframe1.HTML.Add(' off(evt, lcb) { '); unihtmlframe1.HTML.Add(' this.evtMap[evt] = this.evtMap[evt].filter(cb => cb !== lcb); '); unihtmlframe1.HTML.Add(' } '); unihtmlframe1.HTML.Add(' '); unihtmlframe1.HTML.Add(' trigger(evt, data) { '); unihtmlframe1.HTML.Add(' this.evtMap[evt].map(handler => handler(data)); '); unihtmlframe1.HTML.Add(' } '); unihtmlframe1.HTML.Add(' '); unihtmlframe1.HTML.Add(' handleTouchStart(evt) { '); unihtmlframe1.HTML.Add(' this.xDown = evt.touches[0].clientX; '); unihtmlframe1.HTML.Add(' this.yDown = evt.touches[0].clientY; '); unihtmlframe1.HTML.Add(' } '); unihtmlframe1.HTML.Add(' '); unihtmlframe1.HTML.Add(' handleMouseDown(evt) { '); unihtmlframe1.HTML.Add(' if (this.listenForMouseEvents==false) return; '); unihtmlframe1.HTML.Add(' this.xDown = evt.clientX; '); unihtmlframe1.HTML.Add(' this.yDown = evt.clientY; '); unihtmlframe1.HTML.Add(' this.isMouseDown = true; '); unihtmlframe1.HTML.Add(' } '); unihtmlframe1.HTML.Add(' '); unihtmlframe1.HTML.Add(' handleMouseUp(evt) { '); unihtmlframe1.HTML.Add(' if (this.isMouseDown == false) return; '); unihtmlframe1.HTML.Add(' const deltaX = evt.clientX - this.xDown; '); unihtmlframe1.HTML.Add(' const deltaY = evt.clientY - this.yDown; '); unihtmlframe1.HTML.Add(' const distMoved = Math.abs(Math.abs(deltaX) > Math.abs(deltaY) ? deltaX : deltaY); '); unihtmlframe1.HTML.Add(' const activePct = distMoved / this.element.offsetWidth; '); unihtmlframe1.HTML.Add(' '); unihtmlframe1.HTML.Add(' if (activePct > this.options.triggerPercent) { '); unihtmlframe1.HTML.Add(' if (Math.abs(deltaX) > Math.abs(deltaY)) { '); unihtmlframe1.HTML.Add(' deltaX < 0 ? this.trigger("SWIPE_LEFT") : this.trigger("SWIPE_RIGHT"); '); unihtmlframe1.HTML.Add(' } else { '); unihtmlframe1.HTML.Add(' deltaY > 0 ? this.trigger("SWIPE_UP") : this.trigger("SWIPE_DOWN"); '); unihtmlframe1.HTML.Add(' } '); unihtmlframe1.HTML.Add(' } '); unihtmlframe1.HTML.Add(' } '); unihtmlframe1.HTML.Add(' '); unihtmlframe1.HTML.Add(' handleTouchEnd(evt) { '); unihtmlframe1.HTML.Add(' const deltaX = evt.changedTouches[0].clientX - this.xDown; '); unihtmlframe1.HTML.Add(' const deltaY = evt.changedTouches[0].clientY - this.yDown; '); unihtmlframe1.HTML.Add(' const distMoved = Math.abs(Math.abs(deltaX) > Math.abs(deltaY) ? deltaX : deltaY); '); unihtmlframe1.HTML.Add(' const activePct = distMoved / this.element.offsetWidth; '); unihtmlframe1.HTML.Add(' '); unihtmlframe1.HTML.Add(' if (activePct > this.options.triggerPercent) { '); unihtmlframe1.HTML.Add(' if (Math.abs(deltaX) > Math.abs(deltaY)) { '); unihtmlframe1.HTML.Add(' deltaX < 0 ? this.trigger("SWIPE_LEFT") : this.trigger("SWIPE_RIGHT"); '); unihtmlframe1.HTML.Add(' } else { '); unihtmlframe1.HTML.Add(' deltaY > 0 ? this.trigger("SWIPE_UP") : this.trigger("SWIPE_DOWN"); '); unihtmlframe1.HTML.Add(' } '); unihtmlframe1.HTML.Add(' } '); unihtmlframe1.HTML.Add(' } '); unihtmlframe1.HTML.Add('} '); unihtmlframe1.HTML.Add(' '); unihtmlframe1.HTML.Add('function start_the_thing() { '); unihtmlframe1.HTML.Add(' dispatcher = new SwipeEventDispatcher(document.getElementById("'+uniscrollbox1.JsName+'")); '); unihtmlframe1.HTML.Add(' dispatcher.on("SWIPE_RIGHT", () => { console.log("I swiped right!") }) '); unihtmlframe1.HTML.Add(' dispatcher.on("SWIPE_LEFT", () => { console.log("I swiped left!") }) '); unihtmlframe1.HTML.Add('console.log("starting Swipe Thing...."); }; '); unihtmlframe1.HTML.Add('</script> '); unihtmlframe1.HTML.Add('<script> '); unihtmlframe1.HTML.Add('start_the_thing();'); unihtmlframe1.HTML.Add('</script> ');
  20. Hi, i tried a lot of javascrips and didnt find a good solution for every device/every OS .. Has someone a usefull link or demo or example? for a schedule-app i need 5 buttons add document add picture add video add audio recording add hand written signature a lot of solutions are out where .. the important thing is for me are: i want to save the data (video,images..) in filesystem AND a record with foldername/filename/date/user in a database ! i want to have multifile-upload by "add document" my biggest problems are: in many solutions - a php file saves the sended data .. and my unigui app doesnt recognice the filename OR the Event "upload complete" - so i cannot create a database entry if multiple files are uploaded - how can create for every file a database record?? ThanX for help Erich
  21. hi .. and thank you 🙂 sounds good - i will do it in the same way
  22. hi .. after webserver makes a reboot - my unigui.dll is not loaded since a user starts the first session .. -> this is normal 🙂 but i have a Threadtimer in my servermodule - and on this day (server reboot) - nobody was starting a session: so my ThreadTimer didnt make his job (send email with todo-list for the next day) What is the best way to start the unigui.dll after server-reboot? should i put a shortcut in the startup-folder? ThanX for suggestions Erich
×
×
  • Create New...