Community influence on TMS Web: How to handle errors? Vote!

Delphi has always been known for its great community. This statement does not only have implications for developers that can exchange knowledge with each together. It also refers to the fact that developers and third-party companies always exchange knowledge and suggestions with each other.

TMS Web will be an innovative, modern Web Framework for Delphi created by TMS Software. Community interest is very high! This has been shown by the interest in my CodeRage session last week (German: and also by attendance feedback on recent TMS events (Netherlands, Belgium, Germany, US Podcast, …).

It will be released shortly and thus the team is busy tinkering to make the features enjoyable to use and easy to access. One of the recent questions that came up was how to notify the developer of run-time errors. This is not as easy as it seems as the app runs in a Web Browser that is completely independent of the Delphi IDE. Still, there are many options to notify the developer in the browser.

Bruno Fierens, CEO of TMS Software, asks for community feedback which of the options to focus on here ( Vote there if you want to make sure that the next great product from TMS includes your feedback!

This is yet another excellent example how not only the community works together, but also how third parties try to amend the tools to the wishes of the community! Who is to know better than people who used Delphi on a daily basis?

Tagged with: , ,

TMS Web auf der Deutschen CodeRage 2018

Nächste Woche Dienstag, am 26.06., findet die nächste deutsche CodeRage zu Delphi und C++ statt.

Neben Olaf Monien, Volker Hillmann, Bernd Ua, Uwe Raabe, Frank Lauter, Joachim Dürr werde auch ich einen Vortrag halten.

Als Thema habe ich einen grundlegenden Vortrag zu TMS Web gewählt. Bei TMS Web handelt es sich um ein neues, innovatives Framework zu Erstellung von Web Anwendungen mit Delphi. 

Matthias Eißing von Embarcadero Deutschland wird die Leitung der Konferenz übernehmen.

Wir freuen uns auf eure Teilnahme! Anmelden kann man sich hier:

Mehr zu TMS Web hier:

TMS Web kennenlernen! TMS RADical Web Day in Deutschland am 24.05.2018 (de)

Jeder Delphi Entwickler wird es mittlerweile mitbekommen haben, dass es ein neues und innovatives Framework zur Entwicklung von Web Anwendungen in Delphi gibt! Falls nicht, informieren Sie sich hier:

Grund dieses Postings ist aber vielmehr, dass Sie im Mai die Möglichkeit haben, das TMS Web Team persönlich kennenzulernen! Das Team wird Ihnen dann die Grundlagen zur erfolgreichen Entwicklung von Web Anwendungen mit TMS Web vermitteln! 

Die meisten Vorträge werden in deutscher Sprache gehalten.

Als besonderen Gast freut sich TMS Software über Matthias Eissing von Embarcadero Deutschland! Er wird die Anbindung des Embarcadero RAD Servers an TMS Web vorstellen und für alle Fragen rund im Delphi zur Verfügung stehen.

Kern des Tages wird es sowieso sein, die Chance zu nutzen, Fragen zu stellen und andere Softwareentwickler kennenzulernen. Alle weiteren Informationen anbei als Video. Als Text mit Möglichkeit zur Anmeldung hier:

Tagged with: ,

5-Minute-Snack: Understanding TWebRequest’s ContentFields and QueryFields with regard to MethodType

It seems rather obvious, but somehow the two are always being mixed up.

Thus, this will be 5 minutes well spent if you ever will implement a REST Web Service using TWebRequest .

Considering the documentation QueryFields  refer to parameters in the URL and ContentFields  refers to the content of a POST request message. Of course, both GET and POST requests can have QueryFields . However, GET requests do not have ContentFields . Both parameters are mapped to TStringList in Delphi. Multiple values can be separated with an ampersand ( & ).

This seems all to be pretty straight forward. Let’s see how it works in reality.

I wrote an example POST request that has the following implementation:

As expected when sending the following POST request to the URL

with the content

set up in the Fiddler composer…

…yields the following result:

Delphi gives us very easy access to parameters in URLs and the content of a POST request this way. The TWebRequest  class also makes it possible to determine the method type of the request easily using TWebRequest.MethodType .

One might ask why that is necessary to check inside the method as the TWebActionItem also has a MethodType and thus the event is only called for one method type.  Well, there is a special method type.

The type is defined as follows:

You might implement one action event handler for all the different method types in Delphi and use mtAny. Inside the event handler you will then determine the method type using the MethodType  property of the request.

One thing is very important to note: Accessing  ContentFields  will not throw an exception or the property will not be nil  either;  instead the list will simply not contain any elements. 

Tagged with: , , , , , , ,