Jump to content

Search the Community

Showing results for tags 'delphi'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Delphi Questions and Answers
    • Algorithms, Data Structures and Class Design
    • VCL
    • FMX
    • RTL and Delphi Object Pascal
    • Databases
    • Network, Cloud and Web
    • Windows API
    • Cross-platform
    • Delphi IDE and APIs
    • General Help
    • Delphi Third-Party
  • C++Builder Questions and Answers
    • General Help
  • General Discussions
    • Embarcadero Lounge
    • Tips / Blogs / Tutorials / Videos
    • Job Opportunities / Coder for Hire
    • I made this
  • Software Development
    • Project Planning and -Management
    • Software Testing and Quality Assurance
  • Community
    • Community Management

Calendars

  • Community Calendar

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Delphi-Version

Found 226 results

  1. I have a form with a treeview, which can be browsed using the arrow keys. Once an item in the treeview is selected, hitting an "OK" button on the form (which has the modal result mrOK) will close the form, and load the currently selected item into the app. What I want to do is assign VK_RETURN (which I believe is the [Enter] key...?) to the OK button, so that when browsing the treeview using keys, the user can just hit Enter/Return to load the currently selected item. btnOKClick has its own procedure, detailed here: procedure TFLevelSelect.btnOKClick(Sender: TObject); begin WriteToParams; ModalResult := mrOk; end; I can enter "WriteToParams;" into the Treeview's OnKeyDown procedure, but this doesn't actually have any effect until the OK button is pressed. So, one option is to tell the OnKeyDown procedure to also "virtually press the OK button" (which I'm not sure is even possible...?) - this would be my preferred method, if it can be done. Another option is to assign a hotkey to btnOKClick. The only problem with this is that there are multiple other buttons on the form, all of which already respond to [Enter] when Tab-selected. If I assign [Enter] as a hotkey to btnOKClick, then [Enter] either can't then be used for any of the other buttons on the form - or, worse, the app will crash because it won't know which button to press if the Tab is on a different button than 'OK', and the user hits [Enter]. Any and all suggestions/help welcome. I apologise if I haven't provided any necessary information.
  2. Hi all, I'm running RAD Studio 10.4 Version 27.0.40680.4203. I daren't update it in case I can no longer compile the project I'm working on after the update. Debugging breakpoints have always worked, but today for some reason they stopped working. Now, when I enter a breakpoint (red dot at the left of the line), the red dot gets a cross ('X') in the centre of it and the program doesn't break at the appropriate point when running in Debug mode. As far as I know, I haven't changed any project settings since being able to use breakpoints and now not being able to use them. Any ideas...? Apologies if I haven't provided any necessary information.
  3. Hi all, The app I'm working on has a tree view which displays relevant info when an item in that tree is clicked with the mouse. It's also possible to scroll through the treeview list items using the arrow keys (which is obviously quicker than point-clicking every item to get the displayed info), however the info is not displayed when using the arrow keys. It's necessary to actually click an item to get it to display the info. Here's the relevant procedure: procedure TFLevelSelect.tvLevelSelectClick(Sender: TObject); begin SetInfo; end; As you can see, SetInfo is only called when the tree view is actually clicked. Do I need to add procedures for VK_DOWN and VK_UP which call this function, or can the hotkeys be added in here somewhere? Many thanks, Will
  4. Giorgi Chapidze

    Set pipeline between UI and cmd.exe

    Hi! I am developing a simple editor application in which you can type Pascal code and click the compile button, which will connect cmd.exe in the background and compile a .pas file via freepascalcompiler. I have two separate TMemo components. one for writing source code and a second read-only component for showing compilation messages. To sum up, I want to execute the "fpc file_name. pas" command in the background and then grab the compiled messages and display them on the UI. How can I achieve such behavior? https://github.com/gchapidze/fmx-pascalIDE
  5. Hi! I am new to Delphi, but I think I am getting something done! I am not quite sure what I am doing wrong, but this should be correct in Java! I have the corresponding results shown in the debugger at the third iteration! Can anyone point out what I am doing wrongly? (Source Code: MyCollections.pas)
  6. My Delphi programs with the P4D-component PyEmbeddedResEnvironment310 run like a charm, as long as I keep them on my own machine (W11 + Delphi 11.3 Enterprise). On the target machines (W10), everything looks good: the embedded "3.10" environment is exactly the same, and contains all the required python libraries. Besides, I have the registry key "Computer\HKEY_CURRENT_USER\Software\Embarcadero\BDS\22.0\Environment Variables" adjusted through the batch file: "reg_env.bat", from P4D github. In there, "PYTHONENVIRONMENTDIR" reads "C:\Program Files\MyProgram", where the folder "3.10" stands aside the program executable (I also tried "C:\Program Files\MyProgram\3.10" by the way). Note that the programs work as normal, except for that the Python scripts don't work. No errors occur. Just no effects. What is it what I do wrong? Many thanks ahead. Jan
  7. I have a component in a Delphi package. The component contains a TTimer. When I manually create an instance of the Component, everything works fine. But when I drop the component on my form, everything works until the component tries to activate the timer. When the component attempts to start the timer with "FTimer.Enabled := True;", the access violation occurs. The following code from Vcl.ExtCtrls is called with Value=True but as soon as "if Value <> FEnabled" executes, the access violation occurs. procedure TTimer.SetEnabled(Value: Boolean); begin if Value <> FEnabled then begin FEnabled := Value; UpdateTimer; end; end Is this a bug or am I overlooking something? Thanks
  8. Robert Gilland

    Control Edge Downloads via TEdgeBrowser

    I am trying to access the on download completed event in TEdgeBrowser to no avail. Has anyone been able to access these events? I have attached my current attempts to access the API for downloads. GWSEdgeAPI.pas
  9. Hi! I read 200 pages of Marco Cantu's book on Delphi, which may be good for a particular reader, but for beginners, IMO, it lacks in-depth explanations and only skims a topic a bit. Anyways, I am interested in the book How to Program Effectively in Delphi for AS/A Level Computer Science by Dr. Kevin Bond. Is it a good book for beginners?
  10. Lucas Atz

    File icons disappeared

    .dfm .pas file icons disappeared after installing Delphi 11 and uninstalling Delphi 10.4 does anyone know how to solve?
  11. Hi! I have followed the installation manual for Spring4d. Cloned the repository and ran the build.exe, without running tests, with the Update Registry option checked. Units and classes are definitely indexed because I can go to them with ctrl + click, but I am getting these weird errors: 1) Could not compile unit Spring 2) File not found Spring.inc . How can I solve it?
  12. How to delete all the files just in case you need to for some unknown reason. Manual uninstall of RAD Studio/Delphi/C++Builder 11.0 Alexandria Launch the License Manager from the bin folder (by default “C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\LicenseManager.exe”) and delete any trial or beta (Test Field) license that you can find. Check it under “License Details” in the center column. Under your Control Panel’s Program and Features Add/Remove Program uninstall the following entries: RAD Studio 11 version 22.0 Please follow these instructions to remove any leftover files: 1. If Windows 64-bit, remove the C:\Program Files (x86)\Embarcadero\Studio\22.0 directory (or the custom folder you had used). 2. Remove the C:\Users\Public\Documents\Embarcadero\Studio\22.0 directory 3. Remove the C:\ProgramData\Embarcadero\Studio\22.0 directory. 4. Remove the %APPDATA%\Embarcadero\BDS\22.0 directory. 5. Remove the HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\22.0 registry key 6. If Windows 64-bit, remove the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Embarcadero\BDS\22.0 7. If Windows 64-bit, remove the following files from C:\Windows\SysWOW64: BDEAdmin.* CC32*.DLL Midas.* Xerces*.DLL If you had problems in the second step (uninstalling from Windows Control Panel), try this Microsoft tool to solve un-installation problems: https://support.microsoft.com/en-us/topic/fix-problems-that-block-programs-from-being-installed-or-removed-cca7d1b6-65a9-3d98-426b-e9f927e1eb4d
  13. using Delphi 11.2 Android 64 bit I Have an App which reads a geo referenced pdf file and overlays it on a map worked fine on earlier versions of android but in the later versions of android when I go to file selection no files are shown I presume this is caused by the permissions changing have requested read and write external permissions but still dont see them and tried both shared documents and shard downloads paths I Use a simple file selection screen to list eligible files and select any ideas of what I need to do to make the files visible from the downloads folder would be greatly appreciated Thanks in advance Ian
  14. https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Indy say... The RAD Studio CHM help of the Indy components is not provided when pressing the F1 button. However, RAD Studio provides a third-party help. Click Help > Third-Party Help > Indy Library Help to acces the Indy third-party offline help. But its not available here? How to link the indy help here?
  15. i just create rest service with authoticate entry. the default login form look like this : how can i change the login form as i want and control the form shape? lables, headers, positions
  16. Philip Ostle

    Delphi Registration

    A sad tale, The issue of registration of running Delphi has change markedly over the past few years. I have been using Delphi since Delphi 1 and dip in every few years or so to upgrade. Always using a Named User Licence and only occasionally installed it on different machines, so a Named Network User licence was not really needed. I bought Delphi 10.4 early last year and it came with a 1 year maintanance, which expired in March. My main Laptop died (or is in the last thros of death) so I bought a new one and sucessfully installed it on the new machine and started the process of transferring all the stuff I needed to the new machine. Ok, so I renamed the old laptop to '....Old' and renamed my new laptop to something more appropriate but .... when I tried to run Delphi... it wanted to be registerEd again. I though nothing of it so ... I did on the old machine but when I tried on the new machine , I was informed that I had run out of install licences (apparently it is 3 now, it used to be way way more!). I re-named my new laptop back to what it was so at least it would work and ... It needs to register again and won't as I have used up all 3 slots. I read that the number of installs can easily be bumped up so I e-mailed Embarcadero and explained "exactly" what had happened. They refused on the grounds that while they could do it, I needed an active subscription. (see Registrationn Limits below) They pointed out that it was already registered to run on 3 machines. I pointed out that they were the same machines and only the Machine Name had changed... No joy They then tried the "it's a subscription only license and has expired" , but a copy of my licence clearely states "perpetual"...registered to me etc etc. Nowhere does it say anything about being restriced to a machine name. After many lengthy e-mails to Embarcadero, nothing has been resolved. I said 'delete all the previous' .. nope I said increase the counter ... nope I have a working copy on my old laptop (which used up 2x licences due to re-naming) which will be dead soon and I cannot install it on my new laptop even though it has been installed and registered on that machine before. They have said that if I pay for a maintainance, they will happily increase the counter. Is this now ransomware? possibly. Is it counter to the terms and spirit of the lscence agreement? yes. Is it Illegal? probably. This whole issue is due to the licence being registered to the "Machine Name", and not to me ... Or so it seams and it does not keep account of the previous names that the machine had so it can check before it wipes everything out. I do not think it unreasonobale to expect people to rename their computers. people do it all the time. from Embarcadero’s Atanas Popov https://blogs.embarcadero.com/from-the-gm-new-updates-and-changes-to-the-registration-bumps-policy/ Registration Limits We have noticed compliance issues and increased Support efforts related to registration limit increases for customers on older product versions, who are no longer on Update Subscription. It is a standard industry practice to provide support to the most recent versions and to customers who have extended maintenance. We updated our processes and now route all issues raised from users who are not on Update Subscription to Sales and Renewals. We realize this is a change to previous operations and to reduce the impact to development projects, we issued a one-time registration limit increase for all customers who are close to hitting their registration count limit. This should address issues with re-installs of your licensed software on existing or new machines. Further, we will continue to look for options to make this more seamless through automation. Apparently, I have a previous version because I do not have an update subscription. Nor do I want one.! Apparently, they have found no "options to make this seamless" after an extensive search. Be warned DO NOT RENAME YOUR MACHINE I may have to bight the bullet and hand over some cash
  17. I've written this piece of code ... type def_dip_value=record dip_val:word; dip_name:string; end; tdef_dip=record mask:word; name:string; number:byte; dip:array of def_dip_value; end; ... Everything goes fine, but when I try to declare some const like this... const my_dip:array [0..1] of tdef_dip=( (mask:$f;name:'name1';number:16;dip:[(dip_val:$2;dip_name:'name1'),(dip_val:$5;dip_name:'name2')]), (mask:$10;name:'name2';number:2;dip:[(dip_val:$10;dip_name:'name3'),(dip_val:$0;dip_name:'name4')]) ); ... Cannot compile, delphi fails with error 'Undeclared identifier: 'dip_val' I've tested the same code on Free Pascal and works fine, so, what I'm doing wrong? Any idea?
  18. Delphi XE7/11, VCL, win7 Hi everyone. I've got a problem here. Because of the angle that I have to have my laptop screen at, the image when playing videos is too dark. I can barely make it out. I've learned that I can adjust the color brightness level in windows. I may also need to custom change the other colors (contrast gamma hue sat) as well, and then reset them back to standard when I'm not playing videos from youtube. The tool I used to adjust the Brightness level is the Intel control panel applet, below. However, it is difficult to bring up when I need it. And I only just discovered it today. I used to just sit up higher in my chair, which was terrible. If this is possible, how can I do this in Delphi? TIA
  19. I asked this question over in Stack Overflow - and was given a helpful hint from Delphi Coder to ask here. Question: Looking for the distributor, sources, documentation, and/or licenses for SilentDD.exe ( an automation tool that supports logging from Delphi ) I'm trying to maintain some ancient code that uses unit SilentDD_TLB; and I am searching for where SilentDD.exe that was part of this package may have come from. I've run strings on the .exe and the only name that I've found was the author of a library that was used ( hello to Mike - author of the TThemeManager component for Borland Delphi ). I understand that SilentDD.exe was an automation server that supported logging, and the .exe was shipped with the product in the past, but I am very uncomfortable using an unknown .exe, never mind shipping said .exe to customers. The unit was generated from a type library file that is no longer around called SilentDD.tlb that long-gone (like mid-2004) developers had placed in their D:\Borland\Delphi5\ThirdParty folder It unit documents some interfaces IAutoSilentDD = interface(IDispatch) ['{8A241F3E-0403-4A97-9228-3527711C96A4}'] procedure LogMessage(const AKeyword: WideString; const AMessage: WideString); safecall; procedure LogFile(const AKeyword: WideString; const AFilename: WideString); safecall; function IsAppUsing(const AppKeyword: WideString): WordBool; safecall; end; and IAutoSilentDDDisp = dispinterface ['{8A241F3E-0403-4A97-9228-3527711C96A4}'] procedure LogMessage(const AKeyword: WideString; const AMessage: WideString); dispid 203; procedure LogFile(const AKeyword: WideString; const AFilename: WideString); dispid 204; function IsAppUsing(const AppKeyword: WideString): WordBool; dispid 207; end; This post is hidden. It was automatically deleted 1 year ago by CommunityBot. Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers. We don’t allow questions seeking recommendations for books, tools, software libraries, and more. Edit the question so it can be answered with facts and citations. You can edit the question or post a new one. Closed 1 year ago. Edit question Question: Looking for the distributor, sources, documentation, and/or licenses for SilentDD.exe ( an automation tool that supports logging from Delphi ) I'm trying to maintain some ancient code that uses unit SilentDD_TLB; and I am searching for where SilentDD.exe that was part of this package may have come from. I've run strings on the .exe and the only name that I've found was the author of a library that was used ( hello to Mike - author of the TThemeManager component for Borland Delphi ). I understand that SilentDD.exe was an automation server that supported logging, and the .exe was shipped with the product in the past, but I am very uncomfortable using an unknown .exe, never mind shipping said .exe to customers. The unit was generated from a type library file that is no longer around called SilentDD.tlb that long-gone (like mid-2004) developers had placed in their D:\Borland\Delphi5\ThirdParty folder It unit documents some interfaces IAutoSilentDD = interface(IDispatch) ['{8A241F3E-0403-4A97-9228-3527711C96A4}'] procedure LogMessage(const AKeyword: WideString; const AMessage: WideString); safecall; procedure LogFile(const AKeyword: WideString; const AFilename: WideString); safecall; function IsAppUsing(const AppKeyword: WideString): WordBool; safecall; end; and IAutoSilentDDDisp = dispinterface ['{8A241F3E-0403-4A97-9228-3527711C96A4}'] procedure LogMessage(const AKeyword: WideString; const AMessage: WideString); dispid 203; procedure LogFile(const AKeyword: WideString; const AFilename: WideString); dispid 204; function IsAppUsing(const AppKeyword: WideString): WordBool; dispid 207; end; My only other clues are gained by extracting the .ridl file using tlibimp -I SilentDD.exe where tlibimp is Embarcadero TLIBIMP Version 12.16581
  20. mtepebag

    VCL - DevExpress

    Hey there, It's Mert, newest guy at the forum. Saw that community is talking for important topics. I would like to ask a question to you all. First of all, I asked it first to @ertank , He answered me with significant words. I appreciate it. Me and my team jumped to C++Builder 11.2 about 1 month ago. We were using Embarcadero's previous versions but we want to add new features to our project with new developed components. Everybody know that DevExpress is also developing lovely components to VCL environment. My question is; if we take away DevExpress cost, is it most likely necessary to use and build our project with DevExpress components. What's about Embarcadero's own developed components vs DevExpress features? Is Embarcadero doing good job with their new components or are they not caring enough? On the other hand, what's about DevExpress VCL features? Waiting comments from you all. Thanks.
  21. Hi. I am making Android app, and i add Android Service to project, guided by this video: Code in the Android Service: unction TDM.AndroidServiceStartCommand(const Sender: TObject; const Intent: JIntent; Flags, StartId: Integer): Integer; begin Result := TJService.JavaClass.START_STICKY; end; Calling from main project: FService : TLocalServiceConnection; FService := TLocalServiceConnection.Create; FService.StartService('F'); But when i lainch my application, it is crashing at once at start. When i launch my app under debugging, Delphi writing me: Full text on the attachment. Also, debugger get this code: I am using Delphi 10.4 CE.
  22. Hello, Many years ago, I have succesfully installed Rad Studio 10.2 (Tokyo) on Windows 10 Pro. Actually this is version 22H2. Since now I could build some projects with Delphi / VCL As it seems to not work correctly anymore, I have decided to deinstall all und install again. After installation and start of Rad Studio, I get a first screen with "Plattform choice" (wich tells that there are no more Plattform to Install). How can I get rid of this? I use only 32bit + VCL. In my previous installation, I did not get this. Then the IDE is started, but there are no components available. If I select the menu "Component", there is only "Import component", no "Add package" for example. Could someone give me some help? Thanks a lot. Regards Hubert
  23. tinyBigGAMES

    SDL3 for Pascal

    SDL3 for Pascal If you want to get your hands dirty and directly use the new SDL3, I got you covered. 😎 Add SDL3 to your uses statement and it will be linked into your executable with direct access, no DLLs to maintain. You also get miniaudio (for audio), Nuklear (for GUI), pl_mpeg (for video) and stb (for images & fonts) and more. Added a contrib folder and accepting PRs, if you wish to add a contribution. To start the ball rolling, I added ziparc archive utility for making standard password protected zip archives, using zlib/minzip from SDL3pas only. Enjoy! https://github.com/tinyBigGAMES/SDL3
  24. Hey guys, so for this program I'm writing I want to check a string grid for empty rows/rows with just spaces in them and then subsequently deleting them to clean the grids up a bit. I made a procedure that reads the fields from a specific table in a DB and into a corresponding string grid. While 13 of the 14 grids I have, read the records like they're supposed to from the DB, one single table doesn't read correctly, it reads the same amount of records again as empty rows when displayed on the grid. For example, let's say I have 3 records in the table in the DB and I read it into the grid, the records display properly but then they add 3 more rows with just spaces in them. My code for this so far: procedure TfrmPuntehou.IncreaseRowCount(grid: TStringGrid); begin //increases rows in grid grid.RowCount:= grid.RowCount+1; end; procedure TfrmPuntehou.WriteToList(tbl: TADOTable;grid:TStringGrid); var Row: Integer; i: Integer; begin tbl.Active:= True; Row := 1; // Populate cells Tbl.First; while not (Tbl.Eof) do begin grid.Cells[0,Row]:= IntToStr(Row); grid.Cells[1,Row]:= tbl.fields[0].AsString; grid.Cells[2,Row]:= tbl.fields[1].AsString; grid.Cells[3,Row]:= tbl.fields[2].AsString; Inc(Row); IncreaseRowCount(grid); Tbl.Next; end; tbl.Active:=false; //what I'm planning to do to alleviate this but I'm not sure to use in the conditions of the if // because if I say grid.Rows[i] = ''/grid.Rows[i] = ' ' then I get an error // for i := 1 to grid.RowCount - 1 do // begin // if () OR () then // begin // grid.Rows[i].Delete; // end; // end; end; Illustration of what I'm talking about: What is supposed to happen: What's happening (the records are inserted correctly, but there are unnecessary rows here for only 3 records. When exported to a CSV the empty rows are filled with spaces"): Thanks in advance for any help on this! Kind Regards PrimeMinister
  25. Hi All! I have a joystick that is connected to my phone. When my application is running a can see than joysticks buttons are pressing. But when the phone screen is locked, I don't see notifications about it in my app. What can I do to receive joystick button press in my application when the screen is locked? Receivers code procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin inc(i); Memo1.Lines.Add('i=' + IntToStr(i) + '; Key=' + IntToStr(Key)); end; The result of the application, photos of joysticks and the source code are in the attachment. KeyCodeReceiver.7z
×