-
Content Count
2839 -
Joined
-
Last visited
-
Days Won
168
Everything posted by Uwe Raabe
-
That is a severe problem with the Parnassus plugins: They use modules shared between Delphi versions. This has been a source of many problems even before they were handed over to Embarcadero. The integration in GetIt and the need to uninstall all GetIt stuff for an update just raises the visibility.
-
No more floating form designer ...WTF! GExperts PLEASE HELP!!!
Uwe Raabe replied to SteveB42's topic in Delphi IDE and APIs
Please calm down. There is no sense in hyperventilating now in a 1.5 years old thread. In addition, useless a and total garbage have no objective meaning. If you want things to get better you should clearly describe where the current implementation doesn't fit your needs. Perhaps some slight adjustments to the workflow are enough to get you on track. If there still are issues they should be described properly so they can be evaluated and implemented properly. Pure ranting doesn't help at all. OT: This reminds me of the move to the new Galileo IDE with the docked layout, where people said they will stay with Delphi 7 forever. I still feel sorry for all of them who did. -
They only say you can run it on Windows 10. They don't say you cannot run it on other systems.
-
How to use data-raw json in body with RESTRequest?
Uwe Raabe replied to Ranja AZ's topic in Network, Cloud and Web
Looks like you didn't check the Do Not Encode for the parameters. When using the Bearer Authenticator this is handled internally. If you want to add the parameter manually you can do like this: request.AddAuthParameter(HTTP_HEADERFIELD_AUTH, 'Bearer ' + <YourAccessToken>, TRESTRequestParameterKind.pkHTTPHEADER, [TRESTRequestParameterOption.poDoNotEncode]); The HTTP_HEADERFIELD_AUTH is declared in REST.Consts.pas. -
Strange. The only open feature request in MMX targeting the Open Unit dialog is to show RC files.
-
How to use data-raw json in body with RESTRequest?
Uwe Raabe replied to Ranja AZ's topic in Network, Cloud and Web
You spelled Authorization wrong. Have you considered using a TOAuth2Authenticator instance linked to the client? var client := TRESTClient.Create('https://<API server host>/merchant/v1/payments/'); try var auth := TOAuth2Authenticator.Create(client); // the client will free the authenticator auth.TokenType := TOAuth2TokenType.ttBEARER; auth.AccessToken := 'koeQidreesddfzsbxOXKjccccccc'; client.Authenticator := auth; var request := TRESTRequest.Create(nil); Adding the header parameters can also be simplified: request.AddParameter('X-Country', 'MG', pkHTTPHEADER); request.AddParameter('X-Currency', 'MGA', pkHTTPHEADER); -
To be fair, the notes mention 11.1:
-
How to use data-raw json in body with RESTRequest?
Uwe Raabe replied to Ranja AZ's topic in Network, Cloud and Web
var client := TRESTClient.Create('https://<API server host>/auth/oauth2/token'); try var request := TRESTRequest.Create(nil); try request.Client := client; request.Accept := '*/*'; request.AddBody( '{' + '"client_id": "013C1A93-3D33-4986-8A7C-773D02C26214",' + '"client_secret": "FE8FBA46-6ABF-4DF1-8D5E-31345DAAD194",' + '"grant_type": "client_credentials"' + '}', TRESTContentType.ctAPPLICATION_JSON); request.Execute; var response := request.Response; if response.Status.Success then HandleResponse(response.Content); // this has to be implemented by yourself finally request.Free; end; finally client.Free; end; -
Can you please test with the latest version 15.1.4?
-
Is there buffered Memory stream implementation available
Uwe Raabe replied to Tommi Prami's topic in RTL and Delphi Object Pascal
Add a breakpoint at the proper source line and open the context menu on that breakpoint. Set the Pass count to some high value. For more info see the docs: https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Add_Source_Breakpoint -
Make sure you have a unit and form open to toggle between.
-
Can't you just override ReadState and set OldCreateOrder to false after calling inherited? This can be pretty simple when all forms are derived from a common base form. BTW, TDataModule suffers from the same issue.
-
How can I move a window to the left edge of a monitor?
Uwe Raabe replied to dummzeuch's topic in VCL
Alternative: Left := - (Width - ClientWidth) div 2; -
How can I move a window to the left edge of a monitor?
Uwe Raabe replied to dummzeuch's topic in VCL
WindowState := TWindowState.wsMaximized; var L := Left; WindowState := TWindowState.wsNormal; Left := L; -
Is there enable/disable MMX option?
Uwe Raabe replied to Mike Torrettinni's topic in MMX Code Explorer
Oops! -
Is there enable/disable MMX option?
Uwe Raabe replied to Mike Torrettinni's topic in MMX Code Explorer
I know what is happening: In MMX settings under Delphi Editor there is a setting Auto toggle Object Inspector and Code Explorer reacting on F12. Try to disable that. -
Is there enable/disable MMX option?
Uwe Raabe replied to Mike Torrettinni's topic in MMX Code Explorer
Can you give detailed steps? This is what I tried (I refused to fiddle around with my standard layout): Create a new layout with MMX floating (usually I use it in a docked layout) Make that layout standard Switch between Form and Source design: MMX stays open floating Close MMX window Switch between Form and Source design: MMX stays closed Reload the layout: MMX appears floating Close MMX window and save the layout Make MMX visible again Repeat the tests above: Works as expected with MMX staying closed after reloading the layout MMX visibility and position is stored with the layout, so just closing MMX will only hold as long as the layout is not changed. This is standard behavior for all IDE windows. Side note: I know, I'm biased, but I would not even think of closing MMX anytime, because I use it all over the place. It gives me way better overview of the current unit and allows for faster navigation. Even while designing I have MMX fully visible or at least in a flyout tab. Renaming components with MMX is so much better than doing so in the Object Inspector, as it also renames all references in the code. -
I have another approach: type TSplitter = class(Vcl.ExtCtrls.TSplitter) private FInMoveSplitter: Boolean; FSibling: TSplitter; protected procedure WndProc(var Message: TMessage); override; public procedure MoveSplitter(var aMsg: TMessage); property Sibling: TSplitter read FSibling write FSibling; end; procedure TSplitter.MoveSplitter(var aMsg: TMessage); begin FInMoveSplitter := True; try Perform(aMsg.Msg, aMsg.WParam, aMsg.LParam); finally FInMoveSplitter := False; end; end; procedure TSplitter.WndProc(var Message: TMessage); begin if (Message.Msg >= WM_MOUSEFIRST) and (Message.Msg <= WM_MOUSELAST) and not FInMoveSplitter and (Sibling <> nil) then Sibling.MoveSplitter(Message); inherited WndProc(Message); end; Linking is a two liner: Splitter2.Sibling := Splitter3; Splitter3.Sibling := Splitter2;
-
Well, I cannot reproduce on my system (Windows 10, Delphi 11.1). I can try a fix, but I cannot verify if it is working.
-
Thanks for reporting. Looks a bit like VCL style related.
-
It shows the return type of the selected property or function, void in case of a procedure, empty if nothing like that is selected. I have no CnPack installed here.
-
There must be more than only these two steps. Changing something in a unit and closing it without saving happens several times in an hour without showing any problem - not only on my system I guess.
-
Are you trying to say, you are using interfaces only to avoid being responsible for destroying your object instances?
-
Yes, the variable where the date is going to be stored.
-
Let me guess. Your code looks something like this: if TryStrToDate(Edit1, theDate) then But it should be if TryStrToDate(Edit1.Text, theDate) then