-
Posts
22118 -
Joined
-
Last visited
-
Days Won
781
Content Type
Profiles
Forums
Events
Everything posted by Sherzod
-
В Вашем HTML таблица имеет width: 90%, поэтому она фактически не выходит за пределы области компонента и горизонтальный скролл может не появляться. Попробуйте обернуть содержимое в контейнер с overflow:auto и задать минимальную ширину для внутреннего блока или таблицы. Например: <div style="width:100%; height:100%; overflow:auto;"> <div style="min-width:1200px;"> <!-- ваши таблицы --> </div> </div>
-
Добрый день, Не могли бы Вы прикрепить пример HTML-файла или небольшой тестовый проект для воспроизведения?
-
Hello, Which uniGUI version are you using? Also, could you please create a simple test case to reproduce both issues?
-
Сейчас всё работает?
-
Ну, я не уверен, что в этих версиях действительно были проблемы с фильтрами. Но в любом случае этот пост может Вам помочь:
-
Добрый день. Какую версию uniGUI Вы используете?
-
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.
-
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.
-
Drag-and-drop from TUniTreeView to TUniStringGrid
Sherzod replied to Sherzod's topic in Sample Projects
Hello, -
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...
-
Hello, BroadcastMessage → sends to all sessions BroadcastMessageSessions → sends to selected sessions
-
Hello, I will check.
-
Hello, - Which theme are you using? - Which versions of uniGUI? - Could you provide a minimal test case?
-
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?
-
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.
- 1 reply
-
- 1
-
-
This post may help you:
-
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); } }); } }); }
-
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
-
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.
-
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.
-
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").
