Leaderboard
Popular Content
Showing content with the highest reputation on 02/28/23 in Posts
-
I wonder what tech GetIt is implemented in that it cannot cope with a bit of workload
-
To fix the incorrectly positioned toolbar, do the following: Close the IDE Open registry editor Navigate to HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\22.0 Delete the Toolbar node Start the IDE again and it is now reset to default position and scaling.
-
Well, at least it told you what happened so you can fix or work around it 🤦‍♂️
-
There must be something fundamentally wrong with the code flow of that dialog. After the initial component load - why does it need so long to change a filter, complete a search, or even just scrolling down the list a little?
-
OK, let me reword it this way: I would rather switch my settings or find another workaround than going back to 11.2!
-
-
A gem from the past (Goto)
Mike Torrettinni posted a topic in Algorithms, Data Structures and Class Design
I was sure I got rid of all Goto usage in my code. But I found this example today : for i := 0 to Length(vArray) - 1 do begin if vArray[i].SkipThisLine then goto labelSkipThisLine; ... ... labelSkipThisLine: // no code, do nothing with this data line end; This is probably close to 20 years old code, and never failed! I almost want to leave it there, just as a reminder it took me almost 20 years to get past the beginner level 🙂 -
Title is clear I think ;-)). Installed with DevExpress, CodeSite and ReportBuilder.... NO ISSUES!!
-
America is awake now, I guess.
-
GetIt worked ok 4.5 hours ago.
-
Help needed - ANR on Android app UI refresh
Dalija Prasnikar replied to Chris Pim's topic in Cross-platform
RTTI had (and possibly still has) issues with thread safety when acquiring and releasing pool token. Unless you are using Windows application with dynamically loaded packages, the best option to avoid those issues is to call TRttiContext.KeepContext; in initialization section of some base unit and TRttiContext.DropContext; in finalization section. This will create pool token and keep it alive during lifetime of you application, avoiding thread safety issues, and it will also speed up RTTI operations. -
In this day and age isn't it about time that an update can be done without having to uninstall itself!
-
I already did. But that wont help me now. I guess I have to go back to 11.2 for now.
-
Windows Notification in Exe2 when Exe2 started from Exe1
KodeZwerg replied to NamoRamana's topic in Windows API
or refactor source to always use real version like exemplary here shown: type TTrueVersion = packed record Major, Minor, Build: DWORD; end; procedure RtlGetNtVersionNumbers(out MajorVersion, MinorVersion, BuildNumber: DWORD); stdcall; external 'Ntdll.dll'; function GetTrueVersion: TTrueVersion; var vMaj, vMin, vBuild: DWORD; begin RtlGetNtVersionNumbers(vMaj, vMin, vBuild); Result.Major := vMaj; Result.Minor := vMin; Result.Build := Lo(vBuild); end; procedure TForm1.FormCreate(Sender: TObject); var ver: TTrueVersion; begin ver := GetTrueVersion; Label1.Caption := Format('Running Windows %d.%d Build: %d', [ver.Major, ver.Minor, ver.Build]); end; -
It does indeed feel a bit more snappy.
-
Rebuilt all my third party libs and my main project - so far so good. LSP seems a bit better, navigation between projects in a group seems to be working better than before.
-
I also used the WebInstall in the VM. Three component packages, and Bookmarks+Navigator. The only thing I export (registry dump) is my Editor color settings. The rest of the settings are pretty much vanilla, except Font, AutoSaves, Reopen last, and two environment vars. I'll prolly have to re-ignore a few exceptions, though. My production installations won't see 11.3 for a few weeks. That should be enough time for any surprises to be discovered. The definition of a pessimist? An optimist with experience.
-
Delphi 11.3 is available now!
programmerdelphi2k replied to emileverh's topic in Delphi IDE and APIs
my installation was "clean-install"! I always do it that way... uninstall old, install new! ...my way (by Frank Sinattra) >:) -
Available now as web installer and ISO installer from https://my.embarcadero.com/#downloadsPage Blog article https://blogs.embarcadero.com/announcing-the-availability-of-rad-studio-11-3-alexandria/ Release Docs https://docwiki.embarcadero.com/RADStudio/Alexandria/en/11_Alexandria_-_Release_3 Release Notes https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Release_Notes New features and fixes https://docwiki.embarcadero.com/RADStudio/Alexandria/en/New_features_and_customer_reported_issues_fixed_in_RAD_Studio_11.3
-
Small nitpicks.. you can't use {$ELSEIF} with {$IFDEF}, you would need to use {$ELSE}{$IFDEF} instead. Otherwise, use {$IF} in order to use {$ELSEIF}. I would suggest using RTL functions to handle the path delimiters. function OSGetUserDesktopPath: string; begin {$if defined(MSWINDOWS)} winApiUtils.GetFolderPath(CSIDL_DESKTOPDIRECTORY, Result); Result := InclueTrailingPathDelimiter(Result); {$elseif defined(OSX)} Result := TPath.Combine(TPath.GetHomePath, 'Desktop'); Result := IncludeTrailingPathDelimiter(Result); {$elseif defined(IOS)} Assert(false, 'OSGetUserDesktopPath not implemented on IOS'); Result := ''; {$elseif defined(ANDROID)} Assert(false, 'OSGetUserDesktopPath not implemented on ANDROID'); Result := ''; {$else} {$Message Error 'Missing Target'} {$ifend} end;
-
I use this, you should be able to adapt for your use. RootComponent is a TForm. Reference: https://www.fmxexpress.com/create-device-scaled-screenshots-in-delphi-xe5-firemonkey-on-android-and-ios/ function TSERTTKRepoForm.ScreenShot: TTMSFNCBitmap; var lms: TMemoryStream; bmp: TBitmap; fScreenScale: Single; Surf: TBitmapSurface; function GetScreenScale: Single; var ScreenService: IFMXScreenService; begin result := 1; if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then begin result := ScreenService.GetScreenScale; end; end; begin lms := TMemoryStream.Create; try lms.position := 0; fScreenScale := GetScreenScale; bmp := TBitmap.Create(Round(TForm(RootComponent).Canvas.Width * fScreenScale), Round(TForm(RootComponent).Canvas.Height * fScreenScale)); bmp.Clear(0); if bmp.Canvas.BeginScene then try TForm(RootComponent).PaintTo(bmp.Canvas); finally bmp.Canvas.EndScene; end; Surf := TBitmapSurface.Create; Surf.Assign(bmp); if not TBitmapCodecManager.SaveToStream(lms, Surf, '.png') then raise EBitmapSavingFailed.Create('Error saving Bitmap to png'); Surf.Free; bmp.Free; lms.position := 0; result := TTMSFNCBitmap.CreateFromStream(lms); finally lms.Free; end; end;
-
A gem from the past (Goto)
Stefan Glienke replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
If you are using XE2 as in your profile you could be affected by this: https://quality.embarcadero.com/browse/RSP-27375 And as David mentions depending on what is inside the try the compiler easily throws any register usage overboard and operates via stack. -
Fixed it: If you encounter this issue open the project's .dproj file with notepad and search for the <EnabledSysJars> tag. Remove the content between the <EnabledSysJars></EnabledSysJars> tag. and save the file. Building should work now.
-
I'd been working with 11.2 to get my app looking good in high DPI settings. This was all fine. Now with 11.3, loads of things look terrible again. One step forward, two steps back. 'Twas ever thus.
-
https://quality.embarcadero.com/browse/RSP-40638 Do not migrate GetIt installations!