Leaderboard
Popular Content
Showing content with the highest reputation on 05/27/22 in Posts
-
Bookmarks and Navigator are now available for RAD Studio 11
David Millington posted a topic in Embarcadero Lounge
Good news - very good news, that I hope many of you will be happy to hear. Bookmarks and Navigator are now available for RAD Studio 11. Full info here: https://blogs.embarcadero.com/bookmarks-and-navigator-are-available-for-rad-studio-11/ The blog post has full info but a couple of notes: We have set up systems so this build delay should not happen again They are available for both 11.0 and 11.1 The Debugger plugin is also coming within a few days Many thanks for your patience here, and I hope you find installing these helps your productivity and use of the IDE. -
Parnassus Bookmarks for Delphi 11 Alexandria?
David Millington replied to PeterPanettone's topic in Delphi IDE and APIs
Bookmarks and Navigator are now here: and https://blogs.embarcadero.com/bookmarks-and-navigator-are-available-for-rad-studio-11/ The blog post has full info but a couple of notes: We have set up systems so this build delay should not happen again They are available for both 11.0 and 11.1 The Debugger plugin is also coming within a few days Many thanks for your patience here, and I hope you find installing these helps your productivity and use of the IDE. -
Bookmarks and Navigator are now here: and https://blogs.embarcadero.com/bookmarks-and-navigator-are-available-for-rad-studio-11/ The blog post has full info but a couple of notes: We have set up systems so this build delay should not happen again They are available for both 11.0 and 11.1 The Debugger plugin is also coming within a few days Many thanks for your patience here, and I hope you find installing these helps your productivity and use of the IDE.
-
ICS V8.69 has been released at: http://wiki.overbyte.eu/wiki/index.php/ICS_Download ICS is a free internet component library for Delphi 7, 2006 to 2010, XE to XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney and 11.0 and C++ Builder 2006 to XE3, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney and 11.0. ICS supports VCL and FMX, Win32, Win64 and MacOS 32-bit targets. The distribution zip includes the latest OpenSSL 3.0.1 win32, with other versions of OpenSSL being available from the download page. Major Changes in ICS V8.69 include: 1 - V8.69 has a lot of minor improvements, more HTTP client and server features, better built-in authentication, and added built in file uploading to the REST client component. Also continuing improving all the HTTP samples so they now hopefully test all the features of the ICS HTTP server, specifically adding POST and PUT file uploading, and a new client login window for interactive authentication with servers. Also added OCSP (Online Certificate Status Protocol) to ICS, which is used to check SSL/TLS certificates are legitimately issued and not revoked. 2 - In the HTTP client, added new methods RequestAsync and RequestSync which start a specified request by parameter, useful to repeat the last request from an event (such as should be trust the certificate and repeat). When using a proxy, make sure Path is not blank which will break proxies, change to / as for non-proxy requests. GetRequestDoneErrorStr now handles TWsocket errors. Fixed NTLM authentication which got broken in V8.61. Added a new THttpAuthType of httpAuthDigest2 for Digest with the modern SHA-256 algorithm instead of MD5 used by httpAuthDigest, only with USE_SSL. Added new property WWWAuthInfos array filled after 401/407 failure by parsing AuthorizationRequest headers for AuthType and Realm that may be presented to select an authentication option, get login and repeat request. Remove # fragment anchor rom the URL unless the new Option httpoAllowAnchor is set. 3 - In the HTTP REST client, added built in file uploading using POST or PUT. The file name is specified in HttpUploadFile using type HttpUploadStrat ofHttpUploadSimple with parameters in the URL or HttpUploadMIME for multipart with parameters in the first MIME part. Note the applications needs to supply parameters like FileName so the server knows what to do with the file. This may be tested against the ICS web server samples. Upon request completion, ReasonPhrase now also has status, so OK becomes 200 OK, etc. Previously the SslRevocation property was only effective when checking the windows certificate store, now it also works with bundle files using the new TOcspHttp component and OCSP stapling if available. 4 - In the HTTP server component, now converting FLastModified to UTC/GMT time for the response header. Added new authentication type atDigestSha2 with a SHA256 hash instead of MD5 with atDigest only supported with USE_SSL. Note: Mozilla Firefox supports Digest SHA-256, Chrome and Edge do not. Added a new client connection OnHttpRespHdr event to allow response headers to be logged, previously only request headers could be logged. Cleaned up AnswerStream functions so separate lines don't go into send buffer. Added OcspSrvStapling property which should be set to enables OCSP checks and stapling only with AUTO_X509_CERTS define since it adds extra HTTP client code. A revoked certificate will be auto ordered. 5 - In TWSocket, added new method SendTB(const Data: TBytes; Len: Integer=-1) where Len is optional, also similar SendToTB and SendToTB6 with TBytes, as an alternative to casting such types to use Send(). Restored the TlsExtension_cb callback for client debugging since ClientHelloCallback only works with servers. 6 - In TSslWSocketServer added OCSP (Online Certificate Status Protocol) support with IcsHosts using the TOcspHttp component to confirm server SSL/TLS certificates are legitimate and not revoked for security reasons. The certificate OCSP response is also stapled to the initial SSL/TLS HELO handshake and sent to the client to avoid it needing to lookup OCSP using HTTP itself. OCSP responses are cached and saved to a file for reloading later, but are refreshed every time the certificate is validated, at least once a day. The new server property OcspSrvStapling enables OCSP checks and stapling only with AUTO_X509_CERTS define since it adds extra HTTP client code. A revoked certificate will be auto ordered. OCSP checking is done in LoadOneCert and the stapled response sent in TriggerSslServerName when checking SNI. The same OCSP support is available in all ICS servers that use IcsHosts, including FTP, HTTP and TIcsIpStrmLog. 7 - All three main HTTP SSL client sample applications FrameBrowserIcs, OverbyteIcsHttpsTst and OverbyteIcsHttpRestTst now support interactive authentication with a new Login window that displays the different methods the server will accept (from the new property WWWAuthInfos array) allowing one to be selected from Basic, Digest MD5, Digest SHA256 and NTLM logins. This window is displayed after an 401 error and the request then repeated. 8 - The OverbyteIcsHttpsTst SSL sample now has all the missing features from the non-SSL samples, Content Encoding Gzip tick box to support compression, persistent cookie support, POST/PUT support to either send simple data or upload files in various ways (from OverbyteIcsHttpPost1 sample), may be tested against the ICS web server samples. 9 - The OverbyteIcsDDWebService SSL web server sample now builds on unicode compilers. Added authentication for POST requests and new 'Password protected page (POST)' button on the demo menu to test authentication using POST. Fixed web logging to log correct multiple listener. Builds on unicode compilers. Added Digest SHA-256 authentication page DemoDigest2Auth.html and DemoDigestsAll.html that does both digests. DemoAuthAll.html no longer does NTLM, use the separate page. Now displays server response headers if box ticked, only displayed request headers before. File Upload Form and Email Form pages now work without exceptions. The OverbyteIcsSslMultiWebServ SSL web sample has similar new authentication features and logging fixes. 10 - Updated OpenSSL to 3.0.3 and ZLIB (HTTP compression) to 1.2.12, sorry for long delay in updating zlib, now including some important bug fixes, although never saw any issues with the minimal use ICS makes of it. Updated the various ICS CA Trusted Stores. 11 - The OverbyteIcsPemtool SSL sample now does OCSP checks when examining certificate files. There is also a new Test Host Certificates tab that tests SSL/TLS handshake and certificates (using TIcsIpStrmLog) for a list of host names and ports, building a list of host and intermediate certificates that may be further checked and saved as files or added to an intermediate bundle. This new tester should prove useful for debugging sites that return SSL or certificate errors. More detailed release notes are at http://wiki.overbyte.eu/wiki/index.php/ICS_V8.69
-
Windows 11 Debugger Patch for RAD Studio 11.1 available
David Millington posted a topic in Embarcadero Lounge
We have a patch available for RAD Studio 11.1 that resolves an issue debugging Win32 apps on Windows 11, where the IDE would appear to freeze. It's related to getting the thread wait chain taking some time to return. Full info in the blog post: https://blogs.embarcadero.com/windows-11-win32-debugging-patch-for-rad-studio-11-1/ -
Unique Hardware ID
Dave Nottage replied to msd's topic in Algorithms, Data Structures and Class Design
Might this help? https://github.com/RRUZ/tsmbios -
Parnassus Bookmarks for Delphi 11 Alexandria?
DJof SD replied to PeterPanettone's topic in Delphi IDE and APIs
FWIW. I'm always curious to know what changes when fixes are installed. In this instance, just the code and for both the debugger and Parnassus bookmark patches. After both updates for my Professional edition, the Help About version information did not change -- both before and after was V28.0.44500.8973. And that is likely expected. Drilling a little deeper, there was differences when looking at the Help About Version Information along with the addition of a line in the Installed Products list. The details: again, this is for Professional (though I'd expect the other two editions would be the same). Here's some difference reports from a simple examination of the IDE Help About Version Information and the Windows Program Files (x86) directory and subdirectories -- no effort to look at either the registry or other folders. The Windows folder information was obtained by using Karen's Directory Printer saved to a file (both a before and after updates) and then using Beyond Compare to examine the differences and to generate a differences report. (Ya, I know, anal retentive). rpt06C08.htm rptE3EAB.htm -
Parnassus Bookmarks for Delphi 11 Alexandria?
DJof SD replied to PeterPanettone's topic in Delphi IDE and APIs
Thanks for posting this update. I don't know if there is some other way to discover changes other than this forum and the occasional BLOG post from Marco -- IOW, this thread is my only source of info about the BM issue. As a matter of curiosity, does that change to the build process mean that the bookmarks feature is now fully integrated into the IDE? -
Parnassus Bookmarks for Delphi 11 Alexandria?
Fons N replied to PeterPanettone's topic in Delphi IDE and APIs
Great Thanks Greetings, Fons -
ARM would be cool for some Linux distributions, for robots, some Nvidia distributions, etc... Embedded systems are sometimes in Ubuntu ARM and it would be cool to be able to deploy for them.
-
This could help: https://social.msdn.microsoft.com/Forums/windowsdesktop/es-ES/fbe70102-526c-4beb-9929-6da9131797a8/device-identification-values?forum=netfxbcl
-
How to separate UI and Code, while maintaining rapid development?
Pat Foley replied to Incus J's topic in Delphi IDE and APIs
These show my idea of controllers. Each controller is the dashboard of it's controlled domain. Better example would be a spinbutton changing a calendar view to start each week on say Sunday verses Monday. Another spinbutton changes the month the calendar view is looking at. The hours worked and leave taken each day is retrieved from DB. This Viewer was made to show a vendor that there was too much "separation of concerns" when they put vacation leave on one view and hours worked on another view. Viewer example loaded leave and hours worked on same view so adjusting for a consistent 40 hours each week when mixing benefits with hours worked was much easier. In time the vendor merged the views. Rather than actions or using TApplicationEvents. I make the DM UI aware by adding Forms and Controls to its user cause. When the application forms are created, editboxes, labels and panels are added to lists in the Event module. Note the mainform or other forms are not added to uses clause. The controls added in EM Eventmodule parent is set to panel or form passed in. but control onevent is direct consumed by the model. That makes it easier to debug IMHO. constructor TEventBoss.Create(AOwner: TComponent); begin inherited; Headings := TStringList.Create; Panels := TList<Tpanel>.create; //so controls can be added at run time Jobs := Tlist<TProc>.create; //needs empty parens to work Job() Edits := TList<TtextPair>.create; //TtextPair = Tpair<Tcomponent, Tcomponent>; Jobs.add(checkforWhiteSpace); //in the Edits list only states white space does not "change" //the value. -
How to separate UI and Code, while maintaining rapid development?
Gary replied to Incus J's topic in Delphi IDE and APIs
You can also add popup menu's to the data module and they will be visible in the form as well. I use David's suggestion with global data module and popup connected to action list for my data grids, then assign the grids popup property at runtime depending on the grid shown. If I want to change or add functionality it's done in a single place. -
YES Not only for Windows but Linux too 🙂
-
How is text being saved to the database?
corneliusdavid replied to PenelopeSkye's topic in Databases
There's probably an OnChange or OnExit event handler for that DBEdit that is doing the automatic save. DBEdits have a DataSource property so you can reference the underlying data source with that property. DBEdits also have a DataField property which points to the field in the database for which the value is read and written. Delphi's VCL provides DBEdits as a convenience and watches when the focus leaves the control to update the data set held in memory until the entire dataset is posted back to the database. So you could simply add one line to your ButtonClick event to change the focus after the text is set: DBEdit86.SetFocus; assuming there's a DBEdit called DBEdit86. Perhaps just switch focus to the OK button or some other control. (There's also a way to just switch focus to the next control in the window but that escapes me at the moment). But a better way would be to do this programmatically (instead of trying to mimic what the DBEdit has to do), something like this: procedure TfDesignMaster.NoUPCButtonClick(Sender: TObject); begin DBEdit85.DataSource.Edit; DBEdit85.DataSource.FieldByName(DBEdit85.DataField).AsString := 'NO UPC ON ITEM'; DBEdit85.DataSource.Post; end; Now, assuming you know what the DataSource is, you can list it explicitly instead of referencing it with "DBEdit85.DataSource"; same with the FieldName--I just used the information I had here. For example: procedure TfDesignMaster.NoUPCButtonClick(Sender: TObject); begin InventoryTable.Edit; InventoryTable.UPC.AsString := 'NO UPC ON ITEM'; InventoryTable.Post; end; There are a couple of gotchas you need to understand that only you will be able to answer by looking at the code in that form: Is the DataSet already in Edit mode? If so, you don't need to call .Edit. Will other edit controls or application logic expect the DataSet to still be in Edit mode after that button is clicked? If so you don't want to call .Post (or call .Edit again immediately after). There are probably several other considerations but this is a start. -
Do you need an ARM64 compiler for Windows?
David Heffernan replied to Lars Fosdal's topic in Cross-platform
That makes sense if you write programs that only run on computers that you buy. I write programs that run on computers that other people buy. I suspect that others do likewise. So I'll need a compiler for any architecture that a large number of customers and potential customers use. Whether Windows on ARM64 will fit that description anytime soon, I've no idea. -
"RTC SDK was originally developed by Danijel Tkalčec in 2004, and acquired by Teppi Technology in 2018 . Now, as of May 20th 2022, we announce that ReatlThinClient SDK (a.k.a. RTC SDK) is open source." https://rtc.teppi.net/ https://github.com/teppicom/RealThinClient-SDK
-
Parnassus Bookmarks for Delphi 11 Alexandria?
PeterPanettone replied to PeterPanettone's topic in Delphi IDE and APIs
The same happened when I installed Navigator. -
Parnassus Bookmarks for Delphi 11 Alexandria?
PeterPanettone replied to PeterPanettone's topic in Delphi IDE and APIs
I've installed Parnassus Bookmarks now in Delphi 11.1 from GetIt. The installation worked, but the RESTART action failed: After that, I had to kill the BDS process in Task Manager. After restarting the IDE, Bookmarks now works flawlessly. Thank you Embarcadero!