Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

4 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. ULIK

    New bug with patch 1 for 11.1

    Hmm, I can't reproduce this here for 'Save All'. Please try it on a fresh VCL or FMX application.
  2. ULIK

    New bug with patch 1 for 11.1

    This bug was already there at least on 11.1: https://quality.embarcadero.com/browse/RSP-38001
  3. Davide, it's just a vague guess: you use a dark color scheme on IDE. Do you see the same problems also when using the light default scheme?
  4. ULIK

    IDE windows change font size

    Done: https://quality.embarcadero.com/browse/RSP-37770
  5. Hi, can someone confirm this behavior: When placing the IDE object inspector on a special location tabbed with project, IDE font changes on a dual monitor system with different DPI settings. Prerequisites: - main monitor using 96 DPI (2560 x 1440) - secondary monitor using 144 DPI (3840 x 2160) - screen extended on both screens - standard desktop is set to 'Standard Layout' ( - no other IDE extensions like MMX or GEXperts loaded) - Delphi IDE XE 11.1 (DPI aware) running on main monitor : maximized window Steps to reproduce: - load a new VCL app - drag the object inspector to 'Project' window and place it left beside the 'Project' tab (see IDE_step_1) - save this as desktop 'Standard Layout_1' - make this new layout the new standard layout - close the project - again create a new VCL app Now see, how the font has changed: Using this new standard layout I can reproduce the font change every time by: - start Delphi IDE - create new project (or load existing one) - close this project (not the IDE) - again load the project kind regards, Ulrich
  6. After installing Update 11.1 I can no longer reproduce this problem. 👍
  7. Hi, I'm not entirely sure that this is really related to MMX but using some MMX Windows I'm able to reproduce: Prerequisites: * place the two desktop definition files from attachment ( Test.zip ) on location for desktop definitions * make sure you have a secondary monitor using a different DPI scaling ( 150%) right beside your primary monitor (100%) ! * Delphi XE11 starts on primary monitor Steps to reproduce: * start IDE * select desktop layout 'MMX (No GX)' and watch bottom window 'Messages' * select desktop layout 'MMX Debug (No GX)' * again select layout 'MMX (No GX)' and watch bottom window 'Messages': now font size has changed! vs. As far as I can tell this happens only when I have the secondary monitor available using a different DPI. The problem gets more worse as some other IDE windows also change their font size and column positions (inspector, GExperts Search result window etc. ) Is someone able to reproduce this behavior? As said, I'm not sure if this is really related to MMX (installed experts: MMX, GEXperts) kind regards, Ulrich
  8. Hi Uwe, just a very small point: when changing the color theme on DX11 from light to dark, MMX CodeExplorer window does not fully handle this: start IDE, load a project and make CodeExplorer window visible. Then change the color theme of IDE: I have to restart the IDE to make the upper part dark as well. Nothing important, just noticed it when playing around with new DX11. kind regards, Ulrich
  9. ULIK

    TestInsight 1.2 released

    Yeah! That's an extension I really like! 👍
  10. Hi, when I print an image using GDI+ DrawImage method on a high DPI system (192 DPI), the result differs from what printer is used. Next is my test code: procedure TForm1.Button1Click(Sender: TObject); var DC: HDC; gpGraphics: TGPGraphics; gpImage: TGPBitmap; gpPen: TGPPen; nLogPixUI: Integer; nLogPx: Integer; png: TpngImage; rDest: TGPRectF; rectImage: TRect; rectImage72: TRect; begin memo1.Clear; // Just to get some information on the image png := TPngImage.Create; try png.LoadFromFile('image.png'); memo1.Lines.Add(Format('PNG.Width: %d', [png.Width])); memo1.Lines.Add(Format('PNG.Height: %d', [png.Height])); memo1.Lines.Add(Format('PNG.Res: %d, %d', [png.PixelInformation.PPUnitX, png.PixelInformation.PPUnitY])); finally png.Free; end; if PrintDialog1.Execute(Handle) then begin Printer.BeginDoc; try gpGraphics := TGPGraphics.Create(Printer.Canvas.Handle); try // let's use pixel gpGraphics.SetPageUnit(UnitPixel); // get device DPI DC := gpGraphics.GetHDC; try nLogPx := GetDeviceCaps(DC, LOGPIXELSX); memo1.Lines.Add(Format('Log. Pixel Device: %d', [nLogPx])) finally gpGraphics.ReleaseHDC(DC); end; // and create an image rectangle based on some MS Ink coordinates nLogPixUI := Screen.MonitorFromWindow(Self.Handle).PixelsPerInch; memo1.Lines.Add(Format('Log. Pixel Screen: %d', [nLogPixUI])); // create the image rectangle, based on a 90x90 pixel rectangle (just for test) rectImage.Create( MulDiv(10, nLogPx, nLogPixUI), MulDiv(10, nLogPx, nLogPixUI), MulDiv(100, nLogPx, nLogPixUI), MulDiv(100, nLogPx, nLogPixUI) ); // center coordinates system on image midpoint gpGraphics.TranslateTransform(rectImage.CenterPoint.X, rectImage.CenterPoint.y); gpPen := TGPPen.Create(ColorRefToARGB(ColorToRGB(clRed)), 1); try // create a red rectangle around the image gpGraphics.DrawRectangle(gpPen, - rectIMage.Width/2, - rectImage.Height/2, rectImage.Width, rectImage.Height); // load the image gpImage := TGPBitmap.Create('image.png', False); try memo1.Lines.Add(Format('Img.Width: %d', [gpImage.GetWidth])); memo1.Lines.Add(Format('Img.Height: %d', [gpImage.GetHeight])); memo1.Lines.Add(Format('Img.Res: %f, %f', [gpImage.GetHorizontalResolution, gpImage.GetVerticalResolution])); // create the destination rectangle for printing based on rectImage rDest.X := -rectIMage.Width/2; rDest.Y := -rectIMage.Height/2; rDEst.Width := rectIMage.Width; rDest.Height := rectImage.Height; gpGraphics.SetInterpolationMode(InterpolationModeHighQualityBicubic); gpGraphics.SetSmoothingMode(SmoothingModeHighQuality); gpGraphics.DrawImage(gpImage, rDest, 0, 0, gpImage.GetWidth, gpImage.GetHeight, UnitPixel); finally gpImage.Free; end; finally gpPen.Free; end; finally gpGraphics.Free; end; finally Printer.EndDoc; end; end; end; When I run this code against the attached image (see below) on a 96 DPI desktop system, everything is fine when printing on Microsoft PrintToPDF as well as any other installed printer: Next I run the same code on a SurfacePro 7 with 192 DPI. Now the result differs from used printer: HP Universal PS as well as SnagIt produce the expected output: But Microsoft Print to PDF, OneNote for Windows 10 and a HP Laserjet 400 MFP M425dw (607BA1) printer creates a wrong output: rectangle size is fine but content not. So the question is: why produces the output on different printers different outputs? It looks like the wrong output includes some scaling between 96 and 192 DPI but DrawImage should be independent of it, when setting source, destination explicitly. Especially why this is printer dependent? Any ideas, what causes this problem? Thanks, Ulrich forgot to mention: Delphi XE 10.2 Tokyo used image for printing:
  11. Thank you! The workaround is working 🙂
  12. Hi! can anyone confirm this bug (?): Delphi 10.2.3, MMX 15.0.11 Build 2371 - create a new unit - type the following class declaration: TMyClass = class(TObject) private FTest: Integer; public property Test: integer read FTest write FTEst; end; - now select the property on MMX code explorer and hit Ctrl+E to edit it Here this results always in this message: kind regards, Ulrich
  13. ULIK

    MMX Code Explorer V15 released

    There is a very small glitch on 'Add Event' dialog: the header caption of first tab displays the caption of the dialog instead just 'Event' as the other Add ... dialogs would indicate. I can't remember if this is related to MMX 15 or has always been there.
  14. ULIK

    MMX for Delphi 10.3 Rio

    Just installed this latest version: now opening the new property dialog is fast: just a second instead of more then 10 seconds! Thank you very much for your fine work!
  15. ULIK

    MMX for Delphi 10.3 Rio

    Thanks for explaining!