Why is drawing a line less than 1.5 pixels thick twice as slow as drawing a line 10 pixels thick?

Summary: Antialiasing subpixel thickness lines is hard work and requires a number of dirty tricks to output what we intuitively expect to see. The extra effort you’re seeing is almost certainly due to antialiasing. When the line thickness is less than one pixel and the line doesn’t sit squarely at the center of a row … Read more

How to open an URL with the default browser with FireMonkey cross-platform applications?

Regarding the answer of mjn, I have written the following unit. I have successfully tested it on Windows but I don’t have an OSX to test it on this platform. If someone can confirm it works, I’d appreciate. unit fOpen; interface uses {$IFDEF MSWINDOWS} Winapi.ShellAPI, Winapi.Windows; {$ENDIF MSWINDOWS} {$IFDEF POSIX} Posix.Stdlib; {$ENDIF POSIX} type TMisc … Read more

Firemonkey (FMX) bitmap and colours

FMX use antialiazing for drawing. If you would like draw line without blur effect you should use special function for pixel alignment: TCanvas.AlignToPixel TCanvas.AlignToPixelVertically TCanvas.AlignToPixelHorizontally This functions automatically calculate pixel position for drawing without blur. Thank you

Firemonkey ScrollBox Bug

After having all sorts of problems with scrolling, I have come to the conclusion that there is an initialisation problem with scrolling components in firemonkey, which manifest in dodgy scrolling behaviour. Sometimes it will work and sometimes it will not… After having thought that I fixed the problem several times, only to watch the problem … Read more

SynEdit for Firemonkey?

There most likely is not (at the moment): From the homepage: It is a pure-VCL/CLX control, meaning it is not a wrapper for Microsoft Windows controls and so no run-time library is required. CLX or Component Library for Cross Platform is the cross-platform equivalent of the VCL – Borland’s widget library. From Nakeymonkey – native … Read more

How to create a dialog like component that allows drop other controls inside it?

Take a closer look at TTabControl / TTabItem in the unit FMX.TabControl. This is your perfect example because it basically needs to solve the same problem. The following function is what you need to override: procedure DoAddObject(const AObject: TFmxObject); override; This is called when a control is added to your control. Override this function so … Read more

Serious FireMonkey performance issues when there are a lot of controls at screen

I tried your code, it takes 00:10:439 on my PC on XE3 to fill screen with cells. By disabling these lines: //ProgressBar.Value:= ProgressBar.Value + 1; //Caption:= ‘Elapsed time: ‘ + FormatDateTime(‘nn:ss:zzz’, Time – T) + // ‘ (min:sec:msec) Cells: ‘ + IntToStr(Trunc(ProgressBar.Value)); … //Application.ProcessMessages; This goes down to 00:00:106 (!). Updating visual controls (such as … Read more

How to create “No Activate” form in Firemonkey

It is possible using NSPanel with NSNonactivatingPanelMask flag. The NSView of fmx form should become child of NSPanel. I have written a helper class which works for both Windows and Mac platforms (Works on XE4): unit NoActivateForm; interface uses Fmx.Forms, Fmx.Types {$IFDEF POSIX} , Macapi.AppKit {$ENDIF} ; type TNoActivateForm = class private form: TForm; {$IFDEF … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)