Jump to content

Brian Evans

Members
  • Content Count

    291
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Brian Evans

  1. Brian Evans

    IDE stopped saving to *.~

    The History tab the IDE editor shows them and lets you compare between the different versions. At the bottom right there are Code Design and History tabs. When the History tab is active there are Contents, Information and Differences tabs on the bottom left. There is also an Autoreover feature that will periodically save changes to modified files (default every 10 minutes) to a _recovery directory in case the IDE crashes. IDE -> Saving and Recovering.
  2. Brian Evans

    IDE stopped saving to *.~

  3. Brian Evans

    IDE stopped saving to *.~

    Editor options [X] Create backup files and File backup limit.
  4. The bug is in your code - not all binary data can cleanly be put in a string directly. The output of the hash function is in TBytes and the encode function can take TBytes as input. That string() cast you inserted between them is causing issues depending on the binary hash value.
  5. Brian Evans

    GetWindowHandle + Ctrl V

    With a few exceptions for debugging purposes lower integrity processes cannot mess with higher integrity processes. That includes sending input or paste operations. The quick example for why this is not allowed would be a command window with Administrator privileges - not a good thing security wise if all other apps could paste whatever they wanted into it.
  6. Brian Evans

    Advise the component for editing tables

    The Delphi ecosystem contracted over the years and a lot of third-party component developers had to increase prices or fold / exit the market. One that is still around is Developer Express (as somebody already mentioned) whose VCL components have good support and include a VCL Spreadsheet control: VCL Spreadsheet Inspired by Excel - Delphi, C++Builder (devexpress.com). The also have a VCL Layout & UI Design Control which you could add controls to for auto-layout: VCL Form Layout Control for Delphi and C++Builder Developers (devexpress.com). They have both 30-day trials and a demo program that does an excellent job of showing what that the various controls do and how they behave. Main page: VCL UI Components for Delphi & C++Builder | DevExpress scroll down for smaller packages with a subset of the components.
  7. Which LKS-92 coordinates? There are LKS-92 XYZ (spatial rectangular co-ordinates), LKS-92 BLh (geospatial co-ordinates on rotational ellipsoid) and LKS-92 TM (Transverse Mercator projections in plane co-ordinates). One (BLh) is already in long and latitude. Ref: Republic of Latvia Cabinet Regulation No. 879 Adopted 15 November 2011 Regulations Regarding the Geodetic Reference System and the Topographic Map System found at: Ministru kabineta (fao.org) (from Food and Agriculture Organization of the United Nations (FAO) website) Note: some latter revisions but they do not appear to have been translated (This document has not been officially translated by the State Language Centre.). Main ref site: Ģeodēziskās atskaites sistēmas un topogrāfisko karšu sistēmas noteikumi (likumi.lv)
  8. Unclear what you are asking. You can't do anything "during" sleep modes as the system is asleep. If you just want dates and times for those events read the Windows Event Log where the Kernel-Power source logs events for all of those.
  9. Brian Evans

    How do I execute FFMPEG from inside a VCL App?

    In Windows command line Find searches for text in files. In BASH it does look more like your find command, it would need to be run with WSL.EXE not CMD.EXE if you are using Windows Subsystem for Linux. The path probably needs to be put in double quotes in case it contains spaces and be fixed up to be what it would be looking for the Linux side.
  10. Brian Evans

    pdf417

    Looking at the source code and the error it looks like it tries to use text mode which then fails since that mode supports a limited set of characters. It uses some internal functions to test what mode it should use based on the input string but gets it wrong with your strings. The component does support an extended syntax where the bytes can be represented directly in the string using escape codes \ddd so you could convert the whole string to a UTF8string then build a string to input by escaping each byte value in the UTF8 string into the input string. Not as easy as it sounds due how Delphi tries to help with strings. No luck trying to get this to work either- Delphi really fights too hard and the docs do not help any. Copied St2DBarC.pas to the project directory and modified the GoodForNumericCompaction and GoodForTextCompaction by commenting out everything but the first line's Result := False; This forces binary mode. Still making sure the correct bytes are encoded seems iffy as the barcode looks too wide after passing in just \196\140.
  11. "Leak" is a bit vague - usually there would be some indication of what leaked which can help narrow down what to look at.
  12. Brian Evans

    GetWindowHandle + Ctrl V

    The replacement (SendInput function (winuser.h) - Win32 apps | Microsoft Learn) specifically mentions applications are permitted to inject input only into applications that are at an equal or lesser integrity level. Likely the same applies to the older API. This blocking just silently does nothing - no keys arrive.
  13. It is not unheard of for others to confirm they also encounter, make comments on, and find a way to reproduce a bug. An example would be: https://quality.embarcadero.com/browse/RSP-34111 which followed this pattern and a bug that was around for several Delphi releases was fixed. For those without QC access: it was about a dangling scroll bar sometimes seen in the IDE, fixed in Delphi 11. As for this one - looks like something is overdrawing just the color name on top of the color box + name that should be there.
  14. Brian Evans

    Delphi 12 and *.dsv

    The source of the docs quoted by Uwe: File Extensions of Files Generated by RAD Studio - RAD Studio (embarcadero.com). This topic comes up in a search of the Athens online help for dsv but not in the help for previous versions.
  15. I stayed on Delphi XE Professional or a long time - until buying a license for Delphi 10.2 Enterprise about 9 years later. I had no issues getting a bump when needed and being able to re-install the aging versions of Delphi, Developer Express VCL and NexusDB Standard Edition as needed over those nine years contributed to my decision to upgrade and have active subscriptions for all three today. Not sure that would be the case if I encountered friction in installing any of them during the close to a decade I did little paid Delphi development.
  16. You can also re-arrange fields to minimize the gaps added for alignment. A re-arranged second version of the record is also 8 bytes. TBloodyTColor2 = record aColor: TColor; aVar: smallint; aVar2: smallint; end; So why is it 12 bytes in your second version? 1. aVar takes 2 bytes. 2. Padding of 2 bytes to a 4-byte boundary since next member is 4 bytes wide 3. aColor takes 4 bytes 4. aVar2 takes 2 bytes. 5. padding of 2 bytes to make total record size a multiple of 4 (the largest member size). As described in the documentation: Internal Data Formats - Record Types (Delphi) - RAD Studio (embarcadero.com)
  17. Could be a difference in the number of rows in the result set with a larger result set not getting all fetched on open. Various options to fetch them all before processing. The default is usually 50 records at a time. For the FireDac Monitor it looks like not everything has been setup/initialized before it is needed.
  18. FireDac does have tracing and monitoring, it is very verbose by default, but you can reduce which events it outputs. This could help you see what query is still open. Tracing and Monitoring (FireDAC) - RAD Studio (embarcadero.com)
  19. Brian Evans

    BDE Installing

    The Microsoft ODBC support for Paradox and dBase always seemed to be more for data extraction than full database use. Useful to pull data for reports or when migrating to a different database but not to replace the BDE for a production application. Data dictionary changes and database maintenance are two weak areas. During a migration of a single user application from Visual dBase (16 bit, used the BDE) to Delphi + Flash Filer we used a third-party library to access the DBF files for migration purposes instead of the Microsoft ODBC solution. Fewer dependencies on what a user had installed locally meant fewer support issues. (was SoftSci's : TOPAZ (softsci.com))
  20. Brian Evans

    BDE Installing

    Some still get by with a simple multiuser shared file database like Paradox through the BDE. The popularity of SQLite shows simple databases are still popular and BDE/Paradox fits that niche as well with more data types and multiuser support.
  21. There is an option to select a Delphi version in the user profiles for this message board. There is currently no entry for Delphi 12 Athens.
  22. Brian Evans

    dbchart lines, not getting results desired

    You need to add a series per record.
  23. Looks like Evaluate/Modify does not like that dynamic array syntax in the expression. Quick test moving it outside and the expression IndexText ('3',Nums) evaluates at the breakpoint without problems. const Nums : array of string = ['1','2','3']; idx := IndexText('3',Nums);
  24. Brian Evans

    Delphi 12 - Action Bar Menu painting issues with RDS

    It is an ActionMainMenuBar and the odd behavior, the mouse over highlighting makes menu entries darker and darker each time the mouse passes over them, is apparent in the Windows Sandbox after copying the project's EXE there. The form already has DoubleBuffered set to false which is all the new DoubleBufferedMode does to help over a RD connection. Changing the form width after the menu is darkened makes the menu redraw and it does so correctly. Looking at differences in Vcl.ActnMenus.pas between 11.x and 12 the draw code changed to add some styling and MDI support however reverting changes doesn't have any effect even in TCustomMDIMenuButton.Paint. A TMainMenu does not have the odd behaviour.
  25. Brian Evans

    Crowdstrike antivirus killing Delphi

    It has come up before: Crowdstrike killing Delphi 11.2 - General Help - Delphi-PRAXiS [en] (delphipraxis.net) In general, for antivirus software it can be helpful to exclude or limit the real time scanning of developer tools (so Delph install directories etc) and software project directories (where source files and compiled files are placed).
×