Jump to content

dmitrybv

Members
  • Content Count

    94
  • Joined

  • Last visited

Community Reputation

5 Neutral

Technical Information

  • Delphi-Version
    Delphi 12 Athens

Recent Profile Visitors

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

  1. If I place a breakpoint in the initialization section of the very first unit in my project, the debugger hangs when exiting the method procedure System.StartUpCopy.CopyStartUpFiles;
  2. I’m having trouble running my Delphi FMX application on Linux 64-bit (Ubuntu 22.04.4 LTS, FmxLinux 1.78). The application runs fine on Win32, Win64, Android-64, macOS-64. On Linux 64-bit, when I try to start it in debug mode, the IDE immediately stops execution without showing any error. PAServer doesn’t print anything either. A simple test app (just one form with a button) runs without issues on Linux. My real project has several dozen forms. When I run it in debug mode in Embarcadero RAD Studio 12 (Version 29.0.55362.2017), the debugger just stops with no messages. If I try “Run without debugging”, PAServer prints: Runtime error 217 at 00000000012AFEFC According to ChatGPT, this usually means the crash happens inside the initialization section of one of the units included in the project’s uses. 👉 My question: What’s the best way to identify which unit or initialization block is causing the crash on Linux, and how can I debug this further?
  3. In previous versions of Delphi, there was a Refactor → Rename menu for renaming types, fields, and properties across the entire project. In Delphi 13, this menu seems to be missing. I tried using MMX Code Explorer, but I couldn't find an equivalent. MMX offers Rename in Scope, but it only works at the unit level and does not rename the identifier throughout the entire project. Are there any alternatives or tools in Delphi 13 that provide full-project renaming functionality similar to the old Refactor → Rename?
  4. This issue is easily reproducible, was reported back in 2023 and has a high priority (Priority: Major), although it is still not resolved. This is strange.
  5. Hi, Embarcadero® RAD Studio 12 Version 29.0.55362.2017 I noticed a strange behavior in RAD Studio 12.3 (FireMonkey Application): Whenever I open my custom FMX Frame in the IDE designer, it is immediately marked as modified. The IDE then asks me to save changes when I close the frame, even though: the frame is completely empty (no components, no property changes), no changes were made manually, saving does not actually alter the .fmx or .pas files (their timestamps remain the same). The issue only happens with Frames. With regular Forms, this does not occur. I cannot understand whether this is an intended feature of the IDE (some hidden metadata handling) or a bug. Has anyone else noticed the same behavior?
  6. dmitrybv

    What is the equivalent of Vcl.TDBLookupComboBox in FMX?

    You may be wrong. There is no native control like TDBLookupComboBox in Windows OS. That is why Owner-drawn Control – TDBLookupComboBox is written in VCL.
  7. Hello everybody. What is the equivalent of Vcl.TDBLookupComboBox in FMX?
  8. Product and Version: Embarcadero® RAD Studio 12 — Version 29.0.55362.2017 Installed from: RADStudio_123_2017_E9E8FB1D4F9F.iso (7,256 MB) Platform: Android 64-bit Issue Description: When attempting to compile a runtime package for the Android 64-bit platform in Delphi 12, I receive the following warning: Would you like to update the platform SDK now? Regardless of whether I choose Yes or No, the build immediately fails with the error: [Error] Failed In Tools → Options → Deployment → SDK Manager → Android 64-bit, several fields (e.g., SDK paths or tools) are marked with exclamation marks (!), although I did not encounter any errors during installation. File sizes of installed Android SDK components: CatalogRepository\AndroidSDK-2525-23.0.55362.2017 — 159 MB CatalogRepository\AndroidSDK-NDK-23.0.55362.2017 — 981 KB The SDK and NDK appear to be partially installed or missing components, but no installation errors were reported. Questions: What is the reason for the exclamation marks in the SDK Manager? Why does the build fail with [Error] Failed after the SDK update prompt? How can I fully verify and repair the Android 64-bit platform SDK installation? What I’ve tried: Clicking Yes or No on the SDK update prompt makes no difference — the build still fails. I haven’t manually modified the SDK folders. The SDK was installed by the ISO installer without any visible issues. Any guidance on resolving this issue would be appreciated.
  9. I tested RAD Studio 12.1 Community Edition. For this edition, the "Detail" properties of the bds.exe contain the value “Personal”. I don’t know what the value Personal means and whether it is related to the concept of Edition at all.
  10. Yes, in a real application I use the registry branch Computer\HKEY_CURRENT_USER\Software\Embarcadero\BDS\23.0 to get the value for the App parameter that stores the path to bds.exe I try to keep the demo code to a minimum so that it is clear what problem I am discussing here.
  11. It seems that the solution with "bds.exe /ProductInfo:SKU" is suitable, but it does not work in the classic function of outputting the results of the StdOutput work via CreatePipe. Can you tell me how to correctly redirect the results passed to StdOutput to TMemo? I am trying to use the following code, but TMemo remains empty. At the same time, if you create a BdsGetSKU.Cmd file with the text C:\RADStudio\23.0\bin\bds.exe /ProductInfo:SKU and run it in cmd, the text "Enterprise" is output in cmd. procedure RunConsoleAppAndCaptureOutput(const ACommandLine, AWorkingDir: string; AMemo: TMemo); var SecurityAttr: TSecurityAttributes; ReadPipe, WritePipe: THandle; StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; Buffer: array[0..255] of AnsiChar; BytesRead: DWORD; AppRunning: DWORD; Output: TStringStream; CommandLineMutable: array[0..1023] of Char; begin AMemo.Clear; SecurityAttr.nLength := SizeOf(TSecurityAttributes); SecurityAttr.bInheritHandle := True; SecurityAttr.lpSecurityDescriptor := nil; if not CreatePipe(ReadPipe, WritePipe, @SecurityAttr, 0) then begin AMemo.Lines.Add('Failed to create channel.'); Exit; end; FillChar(StartupInfo, SizeOf(StartupInfo), 0); StartupInfo.cb := SizeOf(StartupInfo); StartupInfo.hStdOutput := WritePipe; StartupInfo.hStdError := WritePipe; StartupInfo.dwFlags := STARTF_USESTDHANDLES or STARTF_USESHOWWINDOW; StartupInfo.wShowWindow := SW_HIDE; StrPLCopy(CommandLineMutable, ACommandLine, Length(ACommandLine) + 1); if not CreateProcess( nil, CommandLineMutable, nil, nil, True, 0, nil, PChar(AWorkingDir), // <- working directory StartupInfo, ProcessInfo ) then begin AMemo.Lines.Add('Failed to start process.'); CloseHandle(ReadPipe); CloseHandle(WritePipe); Exit; end; CloseHandle(WritePipe); Output := TStringStream.Create; try repeat BytesRead := 0; if ReadFile(ReadPipe, Buffer, SizeOf(Buffer) - 1, BytesRead, nil) and (BytesRead > 0) then begin Buffer[BytesRead] := #0; Output.WriteString(String(AnsiString(Buffer))); end; GetExitCodeProcess(ProcessInfo.hProcess, AppRunning); until AppRunning <> STILL_ACTIVE; // Read the rest while ReadFile(ReadPipe, Buffer, SizeOf(Buffer) - 1, BytesRead, nil) and (BytesRead > 0) do begin Buffer[BytesRead] := #0; Output.WriteString(String(AnsiString(Buffer))); end; AMemo.Lines.Text := Output.DataString; finally Output.Free; CloseHandle(ReadPipe); CloseHandle(ProcessInfo.hProcess); CloseHandle(ProcessInfo.hThread); end; end; procedure TForm1.Button1Click(Sender: TObject); begin // RunConsoleAppAndCaptureOutput(Edit1.Text, 'C:\RADStudio\23.0\bin', Memo1); // RunConsoleAppAndCaptureOutput('cmd /c dir', 'C:\Windows', Memo1); RunConsoleAppAndCaptureOutput('C:\RADStudio\23.0\bin\bds.exe /ProductInfo:SKU', 'C:\RADStudio\23.0\bin', Memo1); // RunConsoleAppAndCaptureOutput('C:\RADStudio\23.0\Projects\CommandLineInterpreter\BdsGetSKU.Cmd /ProductInfo:SKU', 'C:\RADStudio\23.0\bin', Memo1); end;
  12. dcc32.exe does not generate any error. You can understand that something went wrong only at the end of the installation, when bpl packages are registered in the registry for IDE. dcc32.exe does not create bpl packages and then it is already clear. But I want to give the user information about the impossibility of installation before the installation process begins.
  13. dcc32.exe is present in RAD Studio 12.3 Community Edition. It runs without errors. After running dcc32.exe %ERRORLEVEL% = 0.
  14. Actually I need to determine the edition of RAD Studio from an external program, from my installer program, in order to understand whether I can use dcc32.exe to compile the library source codes to generate packages for installation or not. RAD Studio 12.3 Community Edition does not support compilation via dcc32.exe. I am trying to understand how I can determine in advance in the LibInstaller program whether I can generate packages and install the library in the IDE or not.
  15. 1. RTLVersion and RAD Studio Edition (Professional, Enterprise, Community Edition) are different concepts. 2. RTLVersion for RAD Studio 12.3 cannot be called from an external program.
×