Jump to content

Sherzod

Moderators
  • Posts

    22118
  • Joined

  • Last visited

  • Days Won

    781

Everything posted by Sherzod

  1. В Вашем HTML таблица имеет width: 90%, поэтому она фактически не выходит за пределы области компонента и горизонтальный скролл может не появляться. Попробуйте обернуть содержимое в контейнер с overflow:auto и задать минимальную ширину для внутреннего блока или таблицы. Например: <div style="width:100%; height:100%; overflow:auto;"> <div style="min-width:1200px;"> <!-- ваши таблицы --> </div> </div>
  2. Добрый день, Не могли бы Вы прикрепить пример HTML-файла или небольшой тестовый проект для воспроизведения?
  3. Sherzod

    uniComboBox

    Hello, We will check.
  4. Sherzod

    uniComboBox

    Hello, Which uniGUI version are you using? Also, could you please create a simple test case to reproduce both issues?
  5. Сейчас всё работает?
  6. Ну, я не уверен, что в этих версиях действительно были проблемы с фильтрами. Но в любом случае этот пост может Вам помочь:
  7. Добрый день. Какую версию uniGUI Вы используете?
  8. Let me try to analyze this. Currently, Location is not being passed to the client at all. There are some workarounds available, which involve partially modifying the main source code.
  9. You can handle the broadcast in the form and forward it to the frame: procedure TMainForm.UniFormBroadcastMessage( Sender: TComponent; const Msg: string; const Args: array of const); begin if Msg = 'update' then MyFrame.RefreshData; end; Since TUniFrame does not support OnBroadcastMessage, the form should act as a proxy.
  10. TUniFrame does not support OnBroadcastMessage because this event belongs to TUniBaseForm. A TUniFrame is a visual container and cannot exist independently; it must be hosted inside a form or another container. Broadcast messages are handled at the session/form level, so they are delivered to forms. If needed, the form can forward the message to its frames...
  11. Hello, BroadcastMessage → sends to all sessions BroadcastMessageSessions → sends to selected sessions
  12. Hello Andy, Sorry for the delayed response. Since the same approach works in a small test project, could you please create a minimal reproducible test case with a dynamically created grid and ComboBox column editor?
  13. Hello, - Which theme are you using? - Which versions of uniGUI? - Could you provide a minimal test case?
  14. Hello, None of us has a crystal ball 🙂 — could you share a bit more: where does the long process run (server or client side), roughly how long does it take, and do you need a simple "please wait" mask or a real progress bar?
  15. Hello, Yes, you can do this inside your UniGUI app without opening an external browser. You actually have two different components depending on what exactly you want to show: 1. UniURLFrame — for displaying an external page by URL (this is probably what you want): UniURLFrame1.URL := 'http://example.com/mypage.html'; Internally it uses an <iframe>, so images, CSS and JS from that page work normally. 2. UniHTMLFrame — for injecting raw HTML content that you generate or load yourself: UniHTMLFrame1.HTML.LoadFromFile('C:\path\to\myhtml.html'); // or UniHTMLFrame1.HTML.Text := '<h1>Hello</h1><img src="files/pic.png">'; Rule of thumb: got a URL → UniURLFrame. Got HTML text/file → UniHTMLFrame. Important caveat for both: many modern sites (Google, YouTube, Facebook, most banking sites, etc.) send an X-Frame-Options: DENY/SAMEORIGIN header or a Content-Security-Policy: frame-ancestors directive, which tells the browser to refuse rendering inside a frame. You'll just get a blank area — and it can't be bypassed from the client side, that's a security feature against clickjacking.
  16. This post may help you:
  17. Well, try this — and you may want to use !important to make sure the theme's default styles don't override your background: html, body { background-color: silver !important; /* or #c0c0c0, #e0e0e0, whatever you prefer */ } body { opacity: 0; }
  18. function reconfigure(sender, store, columns, oldStore, oldColumns, eOpts) { columns.forEach(function(col) { var editor = col.getEditor && col.getEditor(); if (editor && editor.xtype === 'combo' && !editor._cleanHandlerAttached) { editor._cleanHandlerAttached = true; editor.on('select', function(combo, record) { // 1. Strip HTML tags from selected value var tmp = document.createElement('div'); tmp.innerHTML = combo.getRawValue(); var cleanText = (tmp.textContent || tmp.innerText || '').trim(); combo.setRawValue(cleanText); // 2. Move focus to next cell var pos = sender.getSelectionModel().getCurrentPosition(); if (pos) { var _cRow = pos.row; var _cCol = pos.column + 1 - 2; // adjust for hidden columns Ext.defer(function() { sender.editingPlugin.completeEdit(); }, 10); Ext.defer(function() { sender.editingPlugin.startEdit(_cRow, _cCol); }, 20); } }); } }); }
  19. Hi, Thanks for your interest in UniGUI — glad you're enjoying it! UniGUI works in asynchronous mode by default, which is very different from VCL. The question is: do you want your application to behave synchronously like a VCL app, or do you want to stay in the standard asynchronous web model? https://www.unigui.com/doc/online_help/synch-and-asynch-operations.htm
  20. The link I shared above describes a sequence where the order matters. It looks like you may have missed some of the steps — especially the last one. Also, I should mention that the solution was made for the desktop version of uniGUI, and I'm not sure it will work as-is for the mobile one.
  21. One important caveat: only delete the DLLs from System32 / SysWOW64 if you put them there yourself. Other installed applications (especially older ones) may have copied their own libeay32.dll / ssleay32.dll there, and removing them could break those programs. If you're not sure who put them there, the safer approach is: just leave the system-folder copies alone and make sure your DLLs are next to your .exe. Windows searches the executable's folder first, so your app will use the correct ones anyway.
  22. Hello, Truly locking orientation "like a native app" isn't really possible inside a regular browser tab — it's an intentional restriction by browser vendors. Realistic options: CSS rotation — works everywhere, but browser UI stays sideways. PWA with "orientation": "portrait" in the manifest — users "Add to Home Screen," then it launches without browser UI and orientation is actually locked. Block landscape via CSS and show a "Please rotate your device" message — probably the most common approach. For a true native-like lock, you'd need a PWA install or a native wrapper.
  23. Hello, Good tip: you already have working SSL DLLs shipped with uniGUI itself. Look in: \FMSoft\Framework\uniGUI\SSL\dll\x86\ — for 32-bit apps \FMSoft\Framework\uniGUI\SSL\dll\x64\ — for 64-bit apps Take libeay32.dll and ssleay32.dll from the folder matching your project's bitness and drop them next to your .exe. Delete the ones you got from dllme — third-party DLL sites are unsafe, and the bitness is often wrong (that alone causes "Could not load SSL library").
×
×
  • Create New...