Jump to content

Alberto Fornés

Members
  • Content Count

    52
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Alberto Fornés

  1. Alberto Fornés

    Persist data in a stream

    I expand the information, doing more tests I have verified that it is not a problem associated with Delphi 10.3 vs Delphi 10.4, I made that statement because I have two computers, one with Delphi Rio and the other with Delphi Sydney, but installing Delphi 10.3 on the other computer I have verified that the problem is due to the computer (Windows 10 in both cases). Any suggestions on any pc configuration that might motivate this?
  2. Alberto Fornés

    Close a TIdTCPClient connection

    Hello, I have created a thread where there is a TIdTCPClient component that receives readings from a barcode reader connected through an ethernet base. The goal is for you to be in a connected service all day without stopping. The thread works, I can start and stop it several times, when I stop the thread I execute these steps to close the connection (FClient = TIdTCPClient): FClient.IOHandler.InputBuffer.Clear; FClient.IOHandler.CloseGracefully; FClient.Disconnect; FClient.Socket.Close; I don't know if they are all necessary, but I have tried to get the desired result. To test, I need to achieve a reconnection when a network failure is detected (for this I disconnect the cable from the pc), when I detect an error in the reading: try FData: = FClient.IOHandler.ReadLn; except on E: Exception do begin FClient.IOHandler.InputBuffer.Clear; FClient.IOHandler.CloseGracefully; FClient.Disconnect; FClient.Socket.Close; // Terminate thread end; In this second case, when I try to connect again, I get this message from the base: This channel is already in use, no slot is available. It seems that the old host-port socket remains active: how can I ensure that it is closed?
  3. Alberto Fornés

    Close a TIdTCPClient connection

    Thanks Remy, your words are greatly appreciated on this topic. That's right, the host only accepts one connection, and the message is sent by it. I will find a way to close the connection (maybe restart the device) so that I can connect again.
  4. Alberto Fornés

    Install recent Delphi versions on Windows XP

    Hello, sorry for delay to respond, I was talking about executables generated with Delphi 10.3, not about installing Delphi 10.3 in a XP computer. I'm able to run the programs, except the problem with themes in some contros, as datatimepicker so I need to disable theme for that controls.
  5. Alberto Fornés

    Speed of Graphics32

    Years ago I was testing various possibilities to display points, lines, polygons, etc. on a map, with various libraries and OpenGL was the one who did it the fastest, perhaps showing text found worse performance.
  6. Alberto Fornés

    Speed of Graphics32

    I think OpenGL can be a good option for this.
  7. Alberto Fornés

    Firedac - Sqlite - DateTime field

    I have created a table with firedac using sqlite as database, using this script: CREATE TABLE FICHADAS (IDFICHADA INTEGER PRIMARY KEY AUTOINCREMENT,IDJORNADA INTEGER,IDEMPLEADO INTEGER,DESDE DATETIME ,HASTA DATETIME ,MINORMAL SMALLINT,MINEXTRA SMALLINT) Therefore I define the DESDE and HASTA fields as datetime, I can insert into the table as datetime fields and when I put a TFDTable component bound to the table it recognizes the fields as TDateTimeField, but when I try to visualize it in a TDBGrid it does not show anything in those two fields and nothing appears if I run the select on the connection editor: but using SQLiteStudio 3.2.1 , I can see the data: I guess I need to configure something in Firedac to work with these fields, but I can't know what, any suggestions? Thanks.
  8. Alberto Fornés

    Firedac - Sqlite - DateTime field

    You are right (maybe you know something about FireDac 😀), previously I used this format to insert values: UPDATE FICHADAS SET HASTA = ' + QuotedStr(FormatDateTime('dd-mm-yyyy HH:nn',FDMemTbCSV.FieldByName('Fecha').AsDateTime)) Now it works with this (using DateTimeFormat driver parameter to DateTime): 'UPDATE FICHADAS SET HASTA = ' + QuotedStr(FormatDateTime('yyyy-mm-dd HH:nn',FDMemTbCSV.FieldByName('Fecha').AsDateTime)) what made me doubt was seeing that with SQLiteStudio 3.2.1 it was possible to see the data (there was no error in the update, I imagine because it is finally a double). Thank you.
  9. Alberto Fornés

    Firedac - Sqlite - DateTime field

    Hello Dmitry, thanks for your response, but changing DateTimeFormat driver parameter to Binary or DateTime the grid don't show me this two datetime fields data, also I tried this select: SELECT FICHADAS.IDFICHADA,FICHADAS.IDEMPLEADO,FICHADAS.DESDE AS "FDESDE::DATETIME",FICHADAS.HASTA AS "FHASTA::DATETIME" , but get the same behaivor.
  10. Hello, which tool do you use to do this enumeration?, thanks.
  11. Alberto Fornés

    Your RAD Studio 10.4 Sydney issues

    Also I see that "in order to proceed", and in Project --> Options a label 'Panel1' is displayed until you click the left menú.
  12. Alberto Fornés

    Install recent Delphi versions on Windows XP

    I have installs with Delphi 10.3.3 on Windows XP, some problems with vcl themes (datatime picker don't work), so I don't use it with that SO, but it works.
  13. Alberto Fornés

    JFF: FMX + FR + HTML

    Ok, thanks. As your library is good rendering HTML, I suggest the posibility to render widgets within a report, maybe not only complete HTML documents , so also div sections, tables or parts of html. Something like include a widget that point to a server url that return only a <table></table> code and render it, adapting dimensions within report.
  14. Alberto Fornés

    JFF: FMX + FR + HTML

    I imagine that this feature improves the basic HTML rendering within fastreport, it can be used with dynamic HTML content?, I mean HTML generated from a server as svg graphics or content with variable dimensions?
  15. Hello, I am in the process of organizing how I save information from a estimate - orders system . Normally one thought of a master table (customer, total quantities, discount, taxes, etc.), and one or two detail tables with the items that make up the order (code, quantity, price, discounts, etc). In this case the information that makes up the detail is quite complex, and depends on many variables and it is possible that it is frequently reviewed. That's why I was thinking instead of defining a table with a multitude of fields, saving all the information in a json document. My question would be what experiences or inconveniences can you share and recommend about it. In my case, the database is Firebird and I would save the information in a blob field, I know there are other databases better prepared to handle JSON fields, but it is a change that if I can, I prefer not to do it. I imagine that the topic of the querys will be a weak point of working with json, but maybe I can solve it with support tables with certain indexed fields.
  16. Alberto Fornés

    [Firedac] Connection Pooling

    Hi, I'm trying to establish a connection to Firebird, using the connection pool. In my project I have several datamodules, which I create and destroy continuously. The first datamodule that is created reads the connection configuration, connects (this does it well) and then saves the parameters of this connection in the connection definition (I use the folowing code): Connect is a TFDConnection component var oDef: IFDStanConnectionDef: = FDManager.ConnectionDefs.AddConnectionDef; oDef.Name:= defConn; oDef.Params.Pooled: = true; oDef.Params.DriverID: = 'FB'; oDef.Params.Database: = Connect.Params.Values ['Database']; oDef.Params.Password: = Connect.Params.Values ['Password']; oDef.Params.UserName: = Connect.Params.Values ['UserName']; oDef.Params.Values ['ExtendedMetadata']: = 'true'; oDef.Params.Values ['CharacterSet']: = 'UTF8'; Then, when I open other datamodules, the first thing I do is assign the definition of the connection, and then I connect, but this gives an error it seems that it does not assign the user and password correctly: Connect is the TFDConnection component of the new created datamodule Connect.ConnectionDefName: = defConn; Connect.Connected: = true; (this gives connection error) Any suggestions of things to review and / or change?, thanks Note: The datamodule where I set the connection parameters and establish the connection definition, is also destroyed after read and apply this settings.
  17. Alberto Fornés

    [Firedac] Connection Pooling

    Well and the end I call this method FDManager.Open; I think do the same (not sure). Anyway after trying a lot of changes, I can do the job creating the connection by code and assigning the connection definition before connect: Connect:= TFDConnection.Create(nil); Connect.Params.DriverID:= driverDB; Connect.ConnectionDefName:= defConn; also I've changed how to set the username and password: //before I use this: Connect.Params.Values['Database']:= TServerConfig.DataPath('DB') + TServerConfig.DBName; Connect.Params.Values['Password']:= PwdFirebird; Connect.Params.Values['UserName']:= UserDB; //and change to this: Connect.Params.Database:= TServerConfig.DataPath('DB') + TServerConfig.DBName; Connect.Params.Password:= PwdFirebird; Connect.Params.UserName:= UserDB; With this changes it works.
  18. Alberto Fornés

    The Embarcadero GetIt server could not be reached...

    I'm working with 10.2.3 , try to install Ribbon package with original GetIt server and return error during install (internal check error). Note: today 16/08/2019 I can install the Ribbon packege, ¡it worked¡
  19. I asked this question this afternoon in a Embarcadero Webminar and received this answer :
  20. I knew you need to compile the project with Delphi 10.3, I just wanted to point out that with the previous version it seems to work. The truth is that it is a problem, although support for Microsoft has been withdrawn for years, there are still many customers with XP computers.
  21. I updated a old Delphi 7 program to a Delphi Tokyo (10.2), and can be executed in XP, some problems with delphi vcl styles, but it can run.
  22. Alberto Fornés

    Changes in Parallel Library

    I make a simply use of this library an TTask, and I don't see any problem with it (for sure not full tested), but reading your point "The first task takes forever to start (over a second)" , I would like to know if somebody else can confirm this, because I experimented delays at start, but it did not relate to TTask, because they are tasks that connect to remote servers and I thought that was the problem, but if the TTask start takes a second, it is possible that there is a problem with TTask. I would like to know if in this sense it can be a better to use other alternative like OmniThreadLibrary. Have a good year¡
  23. Alberto Fornés

    Web dashboard application

    I do not know about the MARS Curiosity library, and for the tests that I have done the Delphi MVC Framework of Daniele Teti ( https://github.com/danieleteti/delphimvcframework ) can also serve as backend, and serve the html pages of the application. As a system to style the web pages a good option is https://www.w3schools.com/w3css/, it is small and it will give a modern and responsible aspect for both pc and mobile. You can represent the graphs through the D3 library ( https://github.com/d3/d3 ) that can be fed with json data generated by the MVC Framework backend. As a way to notify changes to the VCL application, you could define events in the database (when you insert, modify or delete a record in a table) and capture them with the TFDEventAlerter (Firedac) component. Other forms would be using websockets. Another library for backend that seems good option and apparently has a good performance is MorMot ( https://synopse.info/fossil/wiki/Synopse+OpenSource ), but I think that for 5 users, MVC Framework may be enough and is more easy to learn (at least for me).
  24. Alberto Fornés

    Berlin and Tokyo slow compared to Seattle

    I can confirm this, the project was so big that was impossible to open with LiveBindings packages installed, so I removed it, and it worked. I would like to know why a project that did not use Livebindings (Delphi 7) is affected in this way.
×