stas
-
Posts
489 -
Joined
-
Last visited
-
Days Won
37
Content Type
Profiles
Forums
Events
Posts posted by stas
-
-
Сам по себе файл не отправится
Варианты
1) Таймер
2) Long Poll
3) WebSocket
Наиболее просто для разработчика таймер
-
Добрый вечер.
Проанализировал я Ваш вопрос.
Постулируем следующее :
В один момент открыта только одна подчиненная строчка (остальные закрываются)
Используя плагин RowWidget Вы можете это сделать.
Возьмите демку gedit киньте туда контейнер панель, закиньте туда два дбедита с FirstName и LastName
После этого допишите в код следующий текст
type TMyGrid=class(TUniDBGrid);
procedure TMainForm.UniFormCreate(Sender: TObject);
begin
TMyGrid(UniDBGrid1).JSConfigPlugin('Ext.grid.plugin.RowWidget',['pluginId',-100,'selectRowOnExpand',true,'widget',TMyGrid(UniDBGrid1).JsObject('xtype:"panel", height:200')]);
UniSession.AddJS(TMyGrid(UniDBGrid1).JSName+'.getView().lastId=-1;');
UniSession.AddJS(TMyGrid(UniDBGrid1).JSName+'.getView().addListener("expandbody",function(rowNode, record, nextBd, widget)'+'{if (this.grid.getPlugin(-100) && this.lastId!=-1) this.grid.getPlugin(-100).toggleRow(this.lastId,record); this.lastId=record.id; widget.setHeight('+IntToStr(UniHiddenPanel2.Height)+');'+UniHiddenPanel2.JsName+'.setPosition(0,0); widget.add('+UniHiddenPanel2.JSName+');},'+TMyGrid(UniDBGrid1).JSName+'.getView());');
UniSession.AddJS(TMyGrid(UniDBGrid1).JSName+'.getView().addListener("collapsebody",function(rowNode, record, nextBd, widget){ this.lastId=-1;},'+TMyGrid(UniDBGrid1).JSName+'.getView());');
end;//Вместо UniHiddenPanel2 напишите название Вашей контейнер панели.
Думаю с гридом получится также
"Я нашёл этому поистине чудесное доказательство, но поля книги слишком узки для него."
Всего доброго.
- 1
-
Можете, обрабатывайте
UniServerModule.OnHttpDocument
или
UniServerModule.OnHttpCommand
-
Вы можете привести пример?
-
On 10/31/2018 at 9:20 AM, Tokay said:
он предназначен именно для балансировки на несколько машин, всё верно. на такое количество пользователей скорее всего придется несколько ставить.
Вы говорите о фаршадовском ГиперСервере?
Я не совсем понимаю, каким образом его заставить работать на нескольких машинах, т.е. сам гиперсервер находится на одной машине, а процессы запускаются на второй и третьей ?
-
12 hours ago, Tokay said:
Стас, в унигуе уже есть свой балансировщик. Как раз для таких случаев. Смотри HyperServer.
Гиперсервер работает в контексте одной машины, де факто он запускает несколько процессов приложения и работает с ними как прокси.
В случае очень большого количества пользователей этого будет недостаточно, потребуется несколько машин.
-
2 minutes ago, stas said:
А также как организовать VIP поддержку 24х7?
Не спать
-
On 10/28/2018 at 3:20 PM, qpash said:
Присоединяюсь к вопросу:
База MS SQL 2012
Планируемое подключение пользователей 25000-30000 в течении трех месяцев (сейчас работает 500 сотрудников)
Настроено через ISAPI и IIS
Гибридное приложение Web + Mobil
Какие требования необходимы для сервера или нескольких серверов?
А также как организовать VIP поддержку 24х7?
Я более чем уверен, что унигуи не Ваш вариант, Это сегмент корпоративных решений. То о чем Вы говорите ближе к мас маркету.
Можно попробовать вариант nginx с балансировкой, на нескольких серверах, и конечно тут топорно с прямым доступом к бд будет сложно.
-
Добрый вечер, крайне мало данных
База находится на том же сервере ?
Унигуи на сессию расходует от 5 до 100 мб (возможно больше)
Это в случае, если Вы фетчите всю таблицу(и) в память и оперируете ей(ими) вольготно.
Я Вам рекомендую проверить на одном пользователе, а потом умножить потребляемую мощность на ожидаемое количество.
(/server в проекте) Вы получите адекватное значение. Если Вы заложите в сервер порядка 32гб оперативной памяти, я думаю , Вы сможете некоторое время работать спокойно. Очень много зависит от размера таблиц, и как Вы с ними работаете.
-
Вообще для этого существует консоль хрома, она ясно и доходчиво объясняет
-
Дело в том, что это стандартный инсталлятор InnoSetup
Достаточно удобный и дельфилюбивый
-
Можно, намек в посте про локализацию
-
Конечно, это же dfm
uniGUIServerForm.dfm
Или так
procedure TUniServerModule.UniGUIServerModuleCreate(Sender: TObject);var i,j:integer;beginfor I := 0 to Screen.FormCount-1 dobeginfor j:=0 to Screen.Forms.ComponentCount-1 dobeginif GetPropInfo(Screen.Forms.Components[j],'Caption')<>nil thenSetStrProp(Screen.Forms.Components[j],'Caption','Тест');end;end;end; -
Назойливы, молодой человек, назойливы.
Посмотрите хотя бы Ваши письма, касательно сохранения html в картинку.
Сергей, было бы неплохо, если бы Вы вначале поискали.
Извините, если обидел.
-
И не получится, то что Вы выслали, это работа с TwebBrowser, разные принципы.
Потому используйте вариант из
FMSoft\Framework\uniGUI\Demos\Desktop\HTML2Image
Помимо этого на
wkhtmltopdf.org
Есть dll, которая делает тоже самое (пробовал pdf, получилось)
Использовать dll в проекте достаточно кошерно.
-
Нельзя, броузер не передает серверу структуру каталогов.
В случае upload путь к файлу будет c:\fakepath
-
I send you private message
-
Hello
When I update row
for example
Dataset.Locate('id',myId)
Dataset.Edit;
Dataset.FieldbyName('somefield').value:=somevalue;
Dataset.Post;
And Dataset.RecNo not equal Grid.Row ( not paged grid)
Store was realoading
Can i use "smart" reload row without reload store ?
Thank
-
В принципе сложностей не вижу.
Учитывая, что такой код работает
<head> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.9.0-alpha1/katex.min.css" integrity="sha384-8QOKbPtTFvh/lMY0qPVbXj9hDh+v8US0pD//FcoYFst2lCIf0BmT58+Heqj0IGyx" crossorigin="anonymous"> <script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.9.0-alpha1/katex.min.js" integrity="sha384-GR8SEkOO1rBN/jnOcQDFcFmwXAevSLx7/Io9Ps1rkxWp983ZIuUGfxivlF/5f5eJ" crossorigin="anonymous"></script> </head> <body> <script> document.write(katex.renderToString("c = \\pm\\sqrt{a^2 + b^2}")); </script> </body>
Попробуйте какому-нибудь Ext.Panel сделать update (katex.renderToString("c = \\pm\\sqrt{a^2 + b^2}"))
-
nginx reverse proxy + unigui
- 1
-
//frmoxidemodinstaller.Caption := 'Done Downloading. Extracting...';
frmoxidemodinstaller in other thread
-
Dear Stas, I think I have some questions on your really great example, concerning your JS code and usage of it?
Welcome
-
You must use https
-
Использование стороннего процесса для возврата результата в виде файла
in Russian
Posted
Вы не можете отправить файл, пока его не попросили, работа с вебсервером ведётся в режиме вопрос ответ, потому и виснет