Jump to content

Uwe Raabe

Members
  • Content Count

    2839
  • Joined

  • Last visited

  • Days Won

    168

Everything posted by Uwe Raabe

  1. Uwe Raabe

    The Delphi 11.2 release thread

    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.
  2. 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.
  3. Uwe Raabe

    The Delphi 11.2 release thread

    They only say you can run it on Windows 10. They don't say you cannot run it on other systems.
  4. 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.
  5. Uwe Raabe

    Open Unit Window

    Strange. The only open feature request in MMX targeting the Open Unit dialog is to show RC files.
  6. 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);
  7. Uwe Raabe

    The Delphi 11.2 release thread

    To be fair, the notes mention 11.1:
  8. 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;
  9. Uwe Raabe

    Tip of day glitch

    Can you please test with the latest version 15.1.4?
  10. 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
  11. Uwe Raabe

    Unable to add icon to toolbar in IDE

    Make sure you have a unit and form open to toggle between.
  12. Uwe Raabe

    OldCreateOrder and Delphi 11

    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.
  13. Uwe Raabe

    How can I move a window to the left edge of a monitor?

    Alternative: Left := - (Width - ClientWidth) div 2;
  14. Uwe Raabe

    How can I move a window to the left edge of a monitor?

    WindowState := TWindowState.wsMaximized; var L := Left; WindowState := TWindowState.wsNormal; Left := L;
  15. Uwe Raabe

    Is there enable/disable MMX option?

    Oops!
  16. Uwe Raabe

    Is there enable/disable MMX option?

    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.
  17. Uwe Raabe

    Is there enable/disable MMX option?

    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.
  18. Uwe Raabe

    How to synchronize splitters?

    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;
  19. Uwe Raabe

    Tip of day glitch

    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.
  20. Uwe Raabe

    Tip of day glitch

    Thanks for reporting. Looks a bit like VCL style related.
  21. Uwe Raabe

    MMX blocks IDE

    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.
  22. Uwe Raabe

    MMX blocks IDE

    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.
  23. Uwe Raabe

    Inspect variables during debug

    Are you trying to say, you are using interfaces only to avoid being responsible for destroying your object instances?
  24. Uwe Raabe

    check if string date

    Yes, the variable where the date is going to be stored.
  25. Uwe Raabe

    check if string date

    Let me guess. Your code looks something like this: if TryStrToDate(Edit1, theDate) then But it should be if TryStrToDate(Edit1.Text, theDate) then
×