-
Content Count
3483 -
Joined
-
Last visited
-
Days Won
114
Everything posted by Lars Fosdal
-
Strangely, I've not had captcha issues for a long time, but I do have to log out and back in again now and then.
-
Does anyone know of any Indy OAUTH2 server side implementations? I.e. Where an external service can use OAUTH2 authentication to achieve connection rights to an API implemented with the Indy http server component?
-
Indy https server - OAUTH2 implementation?
Lars Fosdal replied to Lars Fosdal's topic in Network, Cloud and Web
@Mocte Sandoval I got feedback from Sergio at esegece - unfortunately, their implementation relies on their own auth server, and doesn't support f.x. Azure AD OAuth from the server side. Sergio was kind enough to describe the required activities, so now I at least have a starting point. @Angus Robertson I don't need an OAuth server - I need an OAuth integration as seen from my own http server. -
It actually works in 11.0 too.
-
If you close your projects and start a new one and empty one - do you get the same errors when you start the IDE?
-
Which version of Delphi? Any IDE plugins or designtime data-aware components?
-
DocWiki.Embarcadero.com does Russian Roulette.
Lars Fosdal replied to A.M. Hoornweg's topic in General Help
If our web services were offline for a month, we'd be in deep shit. The monthly schedule is a normal release schedule, not an outage response schedule. The outage is annoying, but the lack of info from Idera/EMBT is catastrophic for their reputation. -
Indy https server - OAUTH2 implementation?
Lars Fosdal replied to Lars Fosdal's topic in Network, Cloud and Web
I borrowed this image from Felix Colibri's OAuth2 tutorial, which also is written from a client perspective. True. The authentication can/should be a third party Authentication server. I would like to learn how to integrate with such a service from my http server, so that client needs to use OAuth2 to get access to my APIs. -
Indy https server - OAUTH2 implementation?
Lars Fosdal replied to Lars Fosdal's topic in Network, Cloud and Web
That appears to be the other way around. The server accesses Google APIs with OAuth2 - while I want to require the use of OAuth2 authentication for a third party to access my APIs served through an Indy HTTP server. -
Delivery times for new in-house HW can be appalling these days. Go cloud.
-
OP deleted both the sourceforge content and his account here. Go figure.
-
Am I using threads correctly?
Lars Fosdal replied to AlexQc's topic in Algorithms, Data Structures and Class Design
Have a look at https://github.com/gabr42/OmniThreadLibrary and TTask in the RTL. -
suppress connection killed/ gone away dialog
Lars Fosdal replied to TreyUsesDelphi's topic in Databases
Is there an exception handler around the query that throws the dialog? We've wrapped all queries in such a way that if we get a disconnect, and the query throws an exception, we explicitly reconnect and try again. Note that we don't use the DB aware components - so I am not sure how to deal with a disconnect situation in that case, but you need to somehow handle the exception to avoid the default dialog. -
Debugging Issues in D11 64Bit with Packages
Lars Fosdal replied to MathewV's topic in Delphi IDE and APIs
The debuggers need a lot of care. The current state is abysmal - particularly for 64-bit. -
DPI Awareness, tForm.CurrentPPI and PixelsPerInch not always identical !!???
Lars Fosdal replied to A.M. Hoornweg's topic in VCL
For me, it has been captcha free for the last couple of months. Go figure. -
As I press F5 to refresh, every second view comes back like [9781f524d3a11c075ed734e3] /RADStudio/Alexandria/en/Main_Page Wikimedia\Rdbms\DBQueryError from line 1457 of /var/www/html/shared/BaseWiki31/includes/libs/rdbms/database/Database.php: A connection error occured. Query: BEGIN Function: Wikimedia\Rdbms\Database::query (LCStoreDB::get) Error: 2006 MySQL server has gone away (etnadocwikidb01) Backtrace: #0 /var/www/html/shared/BaseWiki31/includes/libs/rdbms/database/Database.php(1427): Wikimedia\Rdbms\Database->makeQueryException(string, integer, string, string) #1 /var/www/html/shared/BaseWiki31/includes/libs/rdbms/database/Database.php(1200): Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, boolean) #2 /var/www/html/shared/BaseWiki31/includes/libs/rdbms/database/Database.php(3735): Wikimedia\Rdbms\Database->query(string, string) #3 /var/www/html/shared/BaseWiki31/includes/libs/rdbms/database/Database.php(3702): Wikimedia\Rdbms\Database->doBegin(string) #4 /var/www/html/shared/BaseWiki31/includes/libs/rdbms/database/Database.php(1135): Wikimedia\Rdbms\Database->begin(string, string) #5 /var/www/html/shared/BaseWiki31/includes/libs/rdbms/database/Database.php(1653): Wikimedia\Rdbms\Database->query(string, string) #6 /var/www/html/shared/BaseWiki31/includes/libs/rdbms/database/Database.php(1479): Wikimedia\Rdbms\Database->select(string, string, array, string, array, array) #7 /var/www/html/shared/BaseWiki31/includes/cache/localisation/LCStoreDB.php(52): Wikimedia\Rdbms\Database->selectField(string, string, array, string) #8 /var/www/html/shared/BaseWiki31/includes/cache/localisation/LocalisationCache.php(412): LCStoreDB->get(string, string) #9 /var/www/html/shared/BaseWiki31/includes/cache/localisation/LocalisationCache.php(458): LocalisationCache->isExpired(string) #10 /var/www/html/shared/BaseWiki31/includes/cache/localisation/LocalisationCache.php(334): LocalisationCache->initLanguage(string) #11 /var/www/html/shared/BaseWiki31/includes/cache/localisation/LocalisationCache.php(371): LocalisationCache->loadItem(string, string) #12 /var/www/html/shared/BaseWiki31/includes/cache/localisation/LocalisationCache.php(292): LocalisationCache->loadSubitem(string, string, string) #13 /var/www/html/shared/BaseWiki31/languages/Language.php(3177): LocalisationCache->getSubitem(string, string, string) #14 /var/www/html/shared/BaseWiki31/includes/MagicWord.php(352): Language->getMagic(MagicWord) #15 /var/www/html/shared/BaseWiki31/includes/MagicWord.php(280): MagicWord->load(string) #16 /var/www/html/shared/BaseWiki31/includes/parser/Parser.php(4848): MagicWord::get(string) #17 /var/www/html/shared/BaseWiki31/extensions/TreeAndMenu/TreeAndMenu_body.php(24): Parser->setFunctionHook(string, array) #18 /var/www/html/shared/BaseWiki31/includes/Setup.php(948): TreeAndMenu->setup() #19 /var/www/html/shared/BaseWiki31/includes/WebStart.php(88): require_once(string) #20 /var/www/html/shared/BaseWiki31/index.php(39): require(string) #21 {main}
-
Nope. Still fails. Front page sort of loads - but going to the Alexandria section produces a call stack.
-
Any GraphQL implementation out there?
Lars Fosdal replied to Javier Tarí's topic in Network, Cloud and Web
Yeah, it seemed a little out of place for TMS. Do they have this for their other products as well? -
Any GraphQL implementation out there?
Lars Fosdal replied to Javier Tarí's topic in Network, Cloud and Web
Is this some sort of rip-off of the TMS components? -
Suggestion: Debugger inspection templates for complex types
Lars Fosdal posted a topic in Delphi IDE and APIs
I posted the following suggestion on the QP. https://quality.embarcadero.com/browse/RSP-37096 I wish I could leave hints in the code as to how I would want a debugger to visualize a complex type variable. You add specify it as a watch statement, but you can’t really keep an infinite list of watches, hence a way of describing a default inspection view in the source code would be useful. type TEditForm = class(TForm) Edit1: TEdit; //$inspect Edit1.(FEnabled, FName, FCaption, Trim(FText)) Consider the hint if you hover over Edit1 in TEditForm.Validate Imagine if the inspect hint comment after the variable declaration had effect: //$inspect Edit1.(FEnabled, FName, FCaption, Trim(FText)) All the formatting and tricks that can be done in the inspector, should be applicable in the $inspect template. You can still expand the Edit1 to see the fields, although I'd like an "All" option and a scrollable list, and perhaps a highlight for the $inspect featured fields. Likewise, for the watch - it could suggest the $inspect template by default instead of the full list, with a checkbox to include all fields if so desired. Another possibility would be to declare the $inspect template at the type declaration, having every instance of that type show the filtered field list. -
Suggestion: Debugger inspection templates for complex types
Lars Fosdal replied to Lars Fosdal's topic in Delphi IDE and APIs
Instead of the inline "magic" comment, another option would be to have the definitions in a "hive" - be it flat file, database, registry or whatever. -
Suggestion: Debugger inspection templates for complex types
Lars Fosdal replied to Lars Fosdal's topic in Delphi IDE and APIs
It is not ideal, I agree - but it is easy to introduce. If it fails, it fails - and you fix the comment, and it works. I like the .NET approach too, but it does add a bit of "ceremony" - but it definitively makes sense for frequently used complex classes. -
Suggestion: Debugger inspection templates for complex types
Lars Fosdal replied to Lars Fosdal's topic in Delphi IDE and APIs
It was just an example of basic functions that could be applied. That said, some of the ancient APIs we rely on, are fixed length strings that are space padded. The idea was that whatever you can do in the evaluator today, should be possible to apply to the inspect format string. -
Project to create a language definition in BNF format started
Lars Fosdal replied to TurboMagic's topic in RTL and Delphi Object Pascal
There is a diagram renderer here: https://www.bottlecaps.de/rr/ui - but it barfs on the first definition.