-
Posts
85 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Events
Everything posted by azago
-
did you get to check how to do it?
-
Of course, it's just one of the VM use cases. It would be better to prepare a VM machine with the installation of Delphi and the components used (in my case I always call it ANTE UNIGUI). Then, starting from that machine, by copying, I install the new version of UNGUI. This is because UNIGUI is released much more often than Delphi versions. And in any case I always start from a clean installation without having to uninstall. Angelo
-
How do I change the colors of an actionbutton hint in the grid? in the button i use function afterrender(sender, eOpts) { Ext.create('Ext.tip.ToolTip', { target: sender.getEl(), showDelay:50, hideDelay:50, componentCls: 'customTip', html: "My Information" }); } It's not present customcls property And I don't know what ExtEvents event I can configure the customCls property of each button in the actioncolumn Thank's Angelo
-
I think the delay in releasing a Unigui version for 10.4 Sidney is related to the Indy component. In some blogs there are problems with the migration of this component "Delphi Indy SSL Error after migrating to 10.4 Sydney" It is better to wait a little but have a working solution in 10.4 Sidney
-
Delphi 10.4 required Windows 10 in the developer machine!
-
Delphi 10.4 Sydney is Available https://blog.marcocantu.com/blog/2020-may-delphi-104-available.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+marcocantublog+(marcocantu.blog)
-
From https://github.com/pleriche/FastMM5 Supported Compilers Delphi XE3 and later Supported Platforms Windows, 32-bit and 64-bit
-
I'm trying an application and at the start of the server under test, without any user connected I have Is it an indication of an application architecture problem? Since the maximum value is 200. Can the value be raised? The program has 22 form 12 datamodule 50 view in addition to main form, main module, etc .. Where can I find documentation on the handles ? Thanks Angelo
-
try this solution http://adsi.mvps.org/adsi/Delphi/index.html active directory helper package http://adsi.mvps.org/adsi/Delphi/ADHelperPackage.zip
-
Version 1528 theme neptune you don't see the collapse icons of the panels the same screen in uni_aqua_triton
-
I have a behavior that I can't solve using bootstrap and some checkbox related themes If I use the sencha theme, everything is fine. If I use the aqua or aqua_triton theme and press on the caption of the checkbox I have a wrong rendering of the image (it moves upwards) Program start Click on caption The problem is that I have a project where I have to use aqua_triton Attached sample project P.S. The problem occurs with both the latest version 1528 and the previous ones TestCheckBox.zip
-
Thanks Sherzod it works fine Angelo
-
i need to change default background color of the Theme used : uni_sencha in Ext.tip.ToolTip i tried function afterrender(sender, eOpts) { Ext.create('Ext.tip.ToolTip', { target: sender.getEl(), showDelay:50, hideDelay:50, html: '<span class="hintClass">Note Pratica</span>' }); } in Custom.css .hintClass { background-color: #096EA9!important; border: 1px solid #096EA9; } but I always have a border with the original color around the message Thanks for the help Angelo
-
Starting an exe is a purely delphi language solution (no UniGUI). It all depends on whether you need a return output from running the process. In the latter case you have to use a semaphores management (also via file). However I have used it in UNIGUI in this way: // call var NameExec : string; NameFileJSON : string; rc : word; begin // exec process if dmDataset.ExecFile(NameExec, NameFileJSON, rc) then begin // timer OnThreadTerminate type TUniTimer for file response OnThreadTerminate.Enabled := True; end; end; // function in Datamodule function TdmDataset.ExecFile(const sComand, sParameter : string; var rc : word) : boolean; var SI : TStartupInfo; PI : TProcessInformation; sCmd : string; begin Result := True; FillChar(SI, SizeOf(SI), 0); SI.cb := SizeOf(SI); SI.wShowWindow := SW_SHOWMINNOACTIVE; sCmd := sComand; if sParameter > '') then sCmd := sCmd + ' ' + sParameter; if (Not CreateProcess(Nil, PChar(sCmd), Nil, Nil, False, Normal_Priority_Class, Nil, Nil, SI, PI)) then begin rc := GetLastError; Result := (rc = 0); exit; end; CloseHandle(PI.hThread); end; procedure OnThreadTerminateTimer(Sender: TObject); var FFolder : string; Sr : TSearchRec; FileDownload: string; SearchStr : string; begin // Response dir FFolder := IncludeTrailingPathDelimiter(UniMainModule.Configurazione.PathLocal); SearchStr := '*.json'; if SysUtils.FindFirst(FFolder + SearchStr, faAnyFile, Sr) = 0 then begin repeat if Sr.Attr and faDirectory = 0 then begin if UpperCase(ExtractFileName(ChangeFileExt(Sr.Name, ''))) = 'RESPONSE' then begin // fistr disable OnThreadTerminate.Enabled := False; // action business -- download -- other --- UniSession.SendFile(IncludeTrailingPathDelimiter(UniMainModule.Configurazione.PathLocal) + ExtractFileName(Sr.Name), FileDownload); // send message dmToast.Success('Download. Scarico eseguito.'); Break; end; end; until SysUtils.FindNext(sr) <> 0; SysUtils.FindClose(sr); end;
-
How to call a executable file on server side within unigui?
azago replied to wangxuebin's topic in General
Starting an exe is a purely delphi language solution (no UniGUI). It all depends on whether you need a return output from running the process. In the latter case you have to use a semaphores management (also via file). However I have used it in UNIGUI in this way: // call var NameExec : string; NameFileJSON : string; rc : word; begin // exec process if dmDataset.ExecFile(NameExec, NameFileJSON, rc) then begin // timer OnThreadTerminate type TUniTimer for file response OnThreadTerminate.Enabled := True; end; end; // function in Datamodule function TdmDataset.ExecFile(const sComand, sParameter : string; var rc : word) : boolean; var SI : TStartupInfo; PI : TProcessInformation; sCmd : string; begin Result := True; FillChar(SI, SizeOf(SI), 0); SI.cb := SizeOf(SI); SI.wShowWindow := SW_SHOWMINNOACTIVE; sCmd := sComand; if sParameter > '') then sCmd := sCmd + ' ' + sParameter; if (Not CreateProcess(Nil, PChar(sCmd), Nil, Nil, False, Normal_Priority_Class, Nil, Nil, SI, PI)) then begin rc := GetLastError; Result := (rc = 0); exit; end; CloseHandle(PI.hThread); end; procedure OnThreadTerminateTimer(Sender: TObject); var FFolder : string; Sr : TSearchRec; FileDownload: string; SearchStr : string; begin // Response dir FFolder := IncludeTrailingPathDelimiter(UniMainModule.Configurazione.PathLocal); SearchStr := '*.json'; if SysUtils.FindFirst(FFolder + SearchStr, faAnyFile, Sr) = 0 then begin repeat if Sr.Attr and faDirectory = 0 then begin if UpperCase(ExtractFileName(ChangeFileExt(Sr.Name, ''))) = 'RESPONSE' then begin // fistr disable OnThreadTerminate.Enabled := False; // action business -- download -- other --- UniSession.SendFile(IncludeTrailingPathDelimiter(UniMainModule.Configurazione.PathLocal) + ExtractFileName(Sr.Name), FileDownload); // send message dmToast.Success('Download. Scarico eseguito.'); Break; end; end; until SysUtils.FindNext(sr) <> 0; SysUtils.FindClose(sr); end; -
Frederick, insert the call in UniFormShow not in UniFormCreate procedure TMainForm.UniFormShow(Sender: TObject); begin with UniDateTimePicker1, JSInterface do begin JSAddListener('collapse', JSFunction('', 'ajaxRequest('#1', "collapse");')); JSAddListener('expand', JSFunction('', 'ajaxRequest('#1', "expand");')); end; end; and using OnAjaxEvent to read message if EventName ='...' then begin ... := Params.Values['...']; end It works Angelo
-
Thanks It works!
-
-
I've created a top panel with 2 unicontainerpanel type hbox at run.time how do I align the images and buttons of the containerpanel to the right so that they start from the bottom of the screen (aligned on the right)? I tried in the containerpanel on the right to use the property pack end but I can't see the images anymore
-
Trie FDbGrid.JSInterface.JSCall('focus', []); Angelo
-
Pay attention that it is not the same thing to use a browser in the same development window that you access from another PC. I use a virtual machine in the development environment and all the tests I always do by accessing from the external machine via ipaddress of the virtual machine and not through 127.0.0.1. This is to tell you that the clipboard function only works on the same physical machine so when it goes into production it doesn't work.
-
i've used procedure TfRicercaPratica.UniFrameCreate(Sender: TObject); begin with bPaste, JSInterface do begin JSCode('async function uniPaste(input) { '+ ' const text = await navigator.clipboard.readText(); '+ ' input.setValue(text); '+ ' };'); JSAddListener('click', JSFunction('sender', UniEdit1.JSName + '.SetValue(navigator.clipboard.readText()); ')); end; end; in the sample UniEdit1 is the object for paste information When using is mandatiory to press in UniEdit1 key CTRL -V for paste data
-
I've change color selected row using .x-grid-item-selected .x-grid-cell-inner in my CSS when I select a row from the table the row-numbered is white (theme uni_sencha) I need to change the color of the row-number from CSS Thanks