PhilPlus
Members-
Content Count
29 -
Joined
-
Last visited
Everything posted by PhilPlus
-
ICS 9.3 with imbedded openSSL flagged as virus
PhilPlus replied to AndreL's topic in ICS - Internet Component Suite
Sometimes, changing compilation option (32/64 or debug/no debug) fix the problem. -
Meta-Delphi question about web hosting..
PhilPlus replied to jglosz's topic in Network, Cloud and Web
A FMX (or VCL) application is not a Web application. The best way, if you need to have a full Delphi Web dev project, is to use a framework like TMS Web Core : https://www.tmssoftware.com/site/tmswebcore.asp or UniGui : https://www.unigui.com/ both creating web applications in Delphi. -
Also the same 'missing constant error' for me via Getit (Delphi 12.2 patched) , all seems OK via the zipped install.
-
I use MS Access : no installation, triggers, views, all the datas are in a single file but for Windows only.
-
Hello I am porting a project to FMX (from VCL). I use a TSaveDialog with Filter for the file extensions : SaveDialog1.Filter := 'Acrobat file PDF|*.pdf|'+ 'Excel file(*.xls)|*.xls|'; As the user has choice for some extensions, I use the 'OnTypeChange' event to know the chosen extension. But when I change the extension this event does'nt fire, but the 'OnShow' event fires ! I tried TOpenDialog with the same problem. Some informations : * Delphi Pro 10.3.1 (I tried Delphi 10.3.3) * Event 'OnFolderChange' does'nt fire. Any idea ? Is there any option I missed ? Or a known bug ? Thx
-
Is Getit offline for everybody ? (and https://docwiki.embarcadero.com/ ...)
-
FYI - Several Embarcadero services are currently unavailable
PhilPlus replied to Keesver's topic in General Help
The problem is not so much the bug/fault on the site (it happens to everyone) but the time taken to resolve it. Not serious. -
how would you do this? Pass API params from UI into API unit
PhilPlus replied to David Schwartz's topic in General Help
Hello David Again I don't see the real problem. When you call the API just send a function which parse the parameter TTABSheet and return a tstringlist (or a string or an array). function sendData(MyTab: TTabSheet): tstringList; var comp: TComponent; begin for comp in MyTab do begin if (comp is Tcheckbox) and then Result.add('"' + comp.Name + '":"' + booltostr(Tcheckbox(comp).checked)) +'"' //or other logic else begin // other comp logic; end; end; end; After you just have to add the TstringList.commatext into your JSON Request. -
I typically use TFDQuery connected to a database to use with a TDBGrid. Everything is OK but I would sometimes need to disconnect this TFDQuery while keeping the data in the TDBGrid, just for visualization, with, of course the loss of some functions related to the data update, but it does not pose any problem. It seems to me that it was possible with the old library 'ADODB' : http://etutorials.org/Programming/ma...ed+Recordsets/ Unfortunately I haven't found how to do this with the Firedac components (apart from making a copy in a TFDMemTable but this is a bit cumbersome). Has anyone already implemented this principle?
-
Excellent Anders, excellent ! I didn't know this, first tests show that it was the exact simple solution I was looking for. The code is FDConnection1.Offline;
-
Ok but even with these options, when the TConnection is closed (FDConnection1.Connected := false) all the data are lost. So how to use the "offlien mode" ?
-
Thx, but TClientDataset seems more complex than my (not very cean) solution : a copy to FDMemeryTable, but it may be more efficient (perf and memory).
-
Thx I yet use these 2 variants (more or less) but I would find a simpler way as FDDataset have all the data in memory.
-
how would you do this? Pass API params from UI into API unit
PhilPlus replied to David Schwartz's topic in General Help
Hello I'm not sure I understand your problems. I have an application with params used in API & VCL interface, every param is declared in a Table (from Database or Inifile) and is used dynanically to construct the param VCL Form AND the API Swagger file. For xyz param the table store its name (xyz) its label ("My parm xyz") its type (integer) and osme other informations (default value...) If in the interface xyz is set to '1' the API (here a GET method) become http://127.0.0.1/api/param?xyz=1& -
Hello, in a VCL project I need to run some code when closing the application, after destroying all forms. In the next sample I try to free a tstringlist but the line 'tsTest.Free;' is executed before the Tform onDestroy program Project1; uses Vcl.Forms, System.Classes, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}, Unit3 in 'Unit3.pas'; // global contains var : tsTest : TStringList; {$R *.res} begin tsTest := TStringList.Create; Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.Run; tsTest.Free; end. It is just a simple example of my problem, any idea how to do it ?
-
@Alexander Yes it works thx for the idea, what a pity that this is not possible in the .dpr
-
Good idea, we can be sure that Unit3 initialization is used before other, but it is less clear for finalization.
-
Hello As you need dataset 'to save data to other kind of structure' paging is not a good idea, just try FetchOptions.Mode := fmAll; and compare timings. Now it would be usefull to have more informations about your software : table size, Query size...
-
Hello Is there any planning for the V4 version ? (sorry if yet answered). Phil
-
OK but on GitHub I see : Is OmniThreadLibrary supported on my platform? At the moment, OTL supports Delphi 2007,...10.3 Rio, and 10.4 Sydney on Win32 and Win64 platforms using the VCL framework. So I thought OTL depended on VCL.
-
Thx Primož My interest is mainly about OTL for FMX (for Android & IOS). Any plan about it ? Phil
-
1/ This function doesn't work when executing the code only in 'dev' mode. Sometimes it doesn't work if the source code is not founded. 2/ Not very clear : any picture of your problem ?
-
Micro optimization: use Pos before StringReplace
PhilPlus replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
As said to Fr0sT.Brutal it is not true with latest versions, I tried with 10.3.1 and the time is more or less the same ! -
Micro optimization: use Pos before StringReplace
PhilPlus replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
You are right (it was true with XE7) tested with 10.3.1 more or less the same perfs. -
Micro optimization: use Pos before StringReplace
PhilPlus replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
I really don't understant the interest of putting StringReplace out of the current method. Just note that there are a lot of StringReplace more efficient than the RTL one, and I think usi,g it is the best way for better performances.