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

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 260 results

  1. Hello! I am writing a log viewer using Delphi VCL and AlmediaDev's StyleControls, and my approach to show a styled list of log entries was to add a TScrollBox (TscScrollBox actually, using AlmediaDev StyleControls, which extends the original), and dynamically fill it with frames (one frame per log entry) as the following image shows: The Frame itself looks like this: And has this component tree: The frames have variable width according to the window width, but the height is always fixed. This approach works for smaller log files (The above screenshot was taken with 217 records) but fails with "Out of System Resources" and "Canvas Does Not Allow Drawing" with bigger files (my failed test file had 3000 entries). Although I understand why is this happening (or atleast I believe it's because the windows won't let me draw 3.000 controls) I don't know what approach I could take to either improve the rendering to reduce resource usage or change the way it renders frames without affecting the scroll list size (otherwise I could just "remove" the frames out of sight and insert the ones that are on sight) and entry UI style (As I believe I would have to if changed for a TVirtualListView as suggested in topic/3661-how-to-detect-when-control-is-scrolled-into-view/). Can anyone give me any direction on what should I do here? Right now it's really more a matter of "WHAT should I do" than "HOW do I do that". For quick reference, I'm also adding the code for the TEntryListItemTemplate and the code that creates and feed it into the scrollbox. It's also fully available here. TEntryListItemTemplate type TEntryListItemTemplate = class(TFrame) svgLogIcon: TSkSvg; labelDateTime: TscGPLabel; scGPPanel1: TscGPPanel; labelDescription: TscGPLabel; scGPPanel2: TscGPPanel; scGPPanel3: TscGPPanel; scGPGlyphContainerButton2: TscGPGlyphContainerButton; svgEyeIcon: TSkSvg; private { Private declarations } FAssociatedRecord: TLogEntry; FAssociatedControlIndex: Integer; // TODO: When one is removed all indexes must above must change (needs a routine) procedure SetupWarningIcon(); procedure SetupErrorIcon(); procedure SetupInfoIcon(); public { Public declarations } constructor Create(AOwner: TComponent; ARecord: TLogEntry; AControlIndexInList: Integer); reintroduce; end; const { The Following Icons are part of Google's Material Core Icon Pack } ERROR_ICON = ''' ... '''; INFO_ICON = ''' ... '''; WARNING_ICON = ''' ... '''; implementation {$R *.dfm} { TEntryListItemTemplate } constructor TEntryListItemTemplate.Create(AOwner: TComponent; ARecord: TLogEntry; AControlIndexInList: Integer); begin inherited Create(AOwner); FAssociatedRecord := ARecord; FAssociatedControlIndex := AControlIndexInList; case FAssociatedRecord.Severity of lsUNKNOWN: SetupInfoIcon(); lsUNIMPORTANT: SetupInfoIcon(); lsREQUESTRECEIVED: SetupInfoIcon(); lsINFORMATION: SetupInfoIcon(); lsWARNING: SetupWarningIcon(); lsERROR: SetupErrorIcon(); end; labelDescription.Caption := Copy(FAssociatedRecord.Message, 0, 150); labelDateTime.Caption := DateTimeToStr(FAssociatedRecord.Date); end; procedure TEntryListItemTemplate.SetupErrorIcon; begin svgLogIcon.Svg.OverrideColor := $FFFF2D2D; svgLogIcon.Svg.Source := ERROR_ICON; end; procedure TEntryListItemTemplate.SetupInfoIcon; begin svgLogIcon.Svg.OverrideColor := $FF2D4DFF; svgLogIcon.Svg.Source := INFO_ICON; end; procedure TEntryListItemTemplate.SetupWarningIcon; begin svgLogIcon.Svg.OverrideColor := $FFFFAB2D; svgLogIcon.Svg.Source := WARNING_ICON; end; Creation and Insertion in TscScrollBox: procedure TfrmMain.Open1Click(Sender: TObject); var OpenedFile: TLogFile; begin OpenedFile := ActionUtils.OpenFile; if OpenedFile <> nil then begin gStateHolder.CurrentFile := OpenedFile; gStateHolder.HasOpenFile := True; var Progress: Extended := 0; var Increment: Extended := 100/Length(gStateHolder.CurrentFile.FLogEntries); ProgressBarInc(0); { I decided to make invisible while I add the entries so the it doesn't have to draw every single entry on each insert. By setting it to Visible := False before the loop and True after the loop I got it to render all at once, which **Improved significantly the Load time for 217 records**. Still fails for 3.000 } contentScrollBox.Visible := False; for var I := Length(gStateHolder.CurrentFile.FLogEntries) - 1 downto 0 do begin var rec := gStateHolder.CurrentFile.FLogEntries[I]; var frame := TEntryListItemTemplate.Create(contentScrollBox, rec, contentScrollBox.ControlCount); frame.Name := TypeUtils.GenerateFrameName(); contentScrollBox.InsertControl(frame); Progress := Progress + Increment; ProgressBarInc(Round(Progress)); end; contentScrollBox.Visible := True; // System out of Resources. How to deal with? end; end; Thank you for your time!
  2. I have to develop an Offline version of the Help Manual for the Delphi application that can display specific help topic pages of the Offline Help. Previously we used CHM to make an offline version which is very old technology. Mainly looking for the following advantages: Context-Sensitive Help Topic Table of Contents Search Index Add Favorites My priority is to have a single file output, like CHM, so it can be used offline without needing any external library links, and be easy for users to read. So far, I think PDF format is the only alternative to CHM that might offer similar features. Are there any open-source alternatives available that are suitable for this?
  3. Hello, Masters. I appreciate your help in advance. All of my production apps have stopped receiving notifications on iOS. They only start working again when the user uninstalls and reinstalls the app, which generates a new token that works correctly, both in Firebase Messaging tests and in notifications sent from my server. It seems that the previously generated tokens are no longer valid. Is there a way to force the app to generate a new token without requiring it to be uninstalled? Additionally, what is the best approach to handle users who already have the app installed in production, considering there are several hundred of them?
  4. Hi From the contacts I have from time to time following presentations or training courses, it seems that I'm better known for the video game coding part of my hobby than for the other stuff. It's true that I find it more fun (especially to stream on Twitch), but I also have utilities for Delphi developers created to simplify my life that I make available as binaries and source code on my GitHub account. App Stores Screen Captures Generator : to generate all the needed images from your screen captures when you have to publish your softwares on current app stores Copyright Pascal Projects : to add a copyright text in the header of each PAS/DPR files of a folder tree DProj To Windows Setup : to generate the Windows setup from Delphi deployment wizard data. It uses Inno Setup to create the install program and Exe Bulk Signing to sign the exe files. Exe Bulk Signing : a local and network signing program for Windows executables (exe+msix). It has an API you can use to integrate it in your projects like I did with "DProj To Windows Setup". Folder to FMX Image List : to create a FireMonkey TImageList to copy paste in your project or in a data module unit from all images in a folder tree. It fills the multires bitmaps depending on file names. Google Play Developer Banner Generator : to create a picture to use has your Play Store developer banner composed by a random collage of images you add to your project. I use it with icons of my Android apps. HTML Writer : to simply get HTML source code or WYSIWYG HTML content. I use Delphi HTML Components library in this program to have the WYSYWYG HTML editor and a memo for the source code tab item. Pic Mob Generator : my icons generator from basics layers or images, SVG, paths or rectangles. It export JPEG&PNG images, ICO and ICNS files. For the SVG I used RiverSoftAVG SVG Component Library, but next release will use Skia4Delphi. SM Code Generator : I use it in some multi players games, for EXE Bulk Signing API and client projects. The program generates Delphi code you only have to use in your projects to have a client / server solution to exchange formatted messages over IP. The library uses standard TCP sockets from Embarcadero (with no external dependencies). SVG Folder to Delphi Unit : to import SVG files as Pascal strings in your projects. I use it in some games with Skia4Delphi to show icons or sprites. The program generates a unit (compatible with Delphi 12.X and higher) with SVG found in a folder. Some of these programs are available from GetIt. The others will be submitted before the end of the year. The download links are on their GitHub repositories and will be added to their websites (which should be redirected to GitHub in the meantime). If you need changes in these programs or have suggestions, be free to tell here or as issues on their repositories. I'm also looking for ideas of simple tools to develop during live coding streams to show Delphi or web solutions. They are distributed as shareware programs. Contributions and sponsoring are welcome but not obligatory, and there are no program restrictions in the absence of a valid license. All features are available for free.
  5. I want to create or calculate a unique 8-digit ID (checksum/hash/etc) for variable-sized texts. I am not sure the ID has to be a certain limited length depending on the length of the actual text, but I would like the ID to be as small as possible. I definitely don't want a GUID. EXAMPLE: Name comment ------ -------------------- car neon. sumvac is not my favorite any more but i do like the cooler autom car neon. RESULT: ID Name comment -------- ------ ------------ AT1UW72Z car neon. 0B1UR7PY sumvac is not my favorite any more but i do like the cooler autom AT1UW72Z car neon. I want to add RESULT to a database table. Duplicates are okay since I can use a query to remove them from a query/report run. Or, I can remove them completely (at a later time) and just have unique table entries. But in general, duplicate entries are acceptable. Is there anything already included in Delphi that supports this? I will be working in XE7 and/or 12.2 IDE's. Thanks in advanced.
  6. I've been experimenting with an integrated playground IDE plugin for the Sempare Template Engine ( https://github.com/sempare/sempare-delphi-template-engine or via GetIt). The template engine is available under Apache 2.0 and has been around for years, and has backward capability back to XE4. The playground plugin is similar to the standalone playground demo app that exists in the project. Anyways, I decided it was time to have a richer IDE experience. My initial development currently it supports: - highlighting (script tags, comments, numbers, strings) - toggling whitespace visibility - IDE Options Dialog allows you to customise options (overriding defaults which are IDE theme aware) - Supports prototyping templates against mock data (in json files) - Supports script tags <% %> or {{ }} - Real-time validation of templates and evaluation/preview - Preview as raw text or in a browser As I changed the license of the template engine to be Apache from GPL, this will be available initially to supporters of the project. More to follow... Any other ideas/improvement suggestions welcome. Here are some screenshots:
  7. This is so frustrating, every time I reinstall Delphi, I have to do something in order to get the Android functions to work for deployment. I have those familiar 3 triangles, and I just can't remember what I did the last time to resolve it, and I can't find it here where I i know I posted it. Does anyone know what I need to do to clear those yellow triangles in SDK Manager?
  8. I have a problem with my DataSnap client application on Android 11 OS. Not every time but from time to time and on different places in my code. Sometimes I recive this message When i click Break debuger points on this line in code What can be a problem
  9. kvik021

    SSL error

    After upgrade to Delphi 12, my multidevice app have trouble connecting to DSRestServer app Regarding server side ... I can execute TEST CONNECTION in DSRestConnection, I can CREATE CLIENT CLASSES UNIT in designer, but when I start app, it cannot connect Server app has not been changed. IOS version - everything works fine. Certificate checked - not expired. I use DigiCert one Old version of the app which is on GooglePLay works fine also. But when I run newly Android build-ed Version I get exception Project ccclient.apk raised exception class EJNIException with message 'javax.net.ssl.SSLHandshakeException: Read error: ssl=0xb400007b9e3f3cc8: Failure in SSL library, usually a protocol error error:100000f0:SSL routines:OPENSSL_internal:UNSUPPORTED_PROTOCOL (external/boringssl/src/ssl/handshake_client.cc:713 0x7c35c4f803:0x00000000)'. First chance exception at $BE81BED3. Exception class ENetHTTPCertificateException with message 'javax.net.ssl.SSLHandshakeException: Read error: ssl=0xeadc39c8: Failure in SSL library, usually a protocol error error:100000f0:SSL routines:OPENSSL_internal:UNSUPPORTED_PROTOCOL (external/boringssl/src/ssl/handshake_client.cc:713 0xd07d1357:0x00000000)'. Process ccclient.apk (30412) I use Samsung a71 as target with OneUI version 5.1 and android 13. All SSL protocols checkboxes in DSRestConnection are checked. I try to check one by one I got same error on all protocols. I saw some post with howto put OpenSSL libs in app but idk how (and I cant find him again). Any help will be appreciated...
  10. Greetings to All!. I've built (TSignInWithGoogle) a basic component to integrate Google Sign-in into your Android app using Credential Manager, adhering to Google's most recent guidelines. I'll leave it here for anyone who might find it useful!. Here the link: https://github.com/MEStackCodes/SignInWithGoogleDelphi
  11. Hi, does anyone ever tried to install Android APK in Fusion Hybrid Tablets? https://www.touchdynamic.com/products/mobile-pos-tablets/fusion-tablet-solution/ This is their manual & specs: https://www.touchdynamic.com/wp-content/uploads/2024/09/TD_FusionHybrid_SpecSheet5.pdf I'm not sure if it's something with their processor architecture (Intel® Elkhart Lake Celeron® J6412 up to 2.6 Ghz System), as I'm unable to install any APK built and deployed in Delphi, neither MSBuild, anything.... I just get a message from the OS stating "App not installed as app isn't compatible with your tablet ". I've also tried to change dproj to support other architectures but without results. <PropertyGroup Condition="'$(Base)'=='Android'"> ... <AndroidSupportedAbis>x86;x86_64;armeabi-v7a;arm64-v8a</AndroidSupportedAbis> ... </PropertyGroup> Other thing I did is changing where lib is deployed but likewise, no results. Not a clue what's going on.
  12. Hi all. I observe a noticable difference of execution time for the same code, compiled in 32 bits and 64 bits. The following code is an extract of a more complex application. If you run it, it will always take much more time in 64 bits than in 32 bits. The code can be tested using arrays of 1, 2 or 3 floats (option 1,2 and 3). If I look at the assembly code in debug mode, it is different in 32b and 64b. Any idea how to make the 64 bits version run as fast as the 32 bits one? (Compilation options or code adjustments?) Thanks. Note: I'm using Delphi 12.1 Here is the code: Type {$IF Defined(WIN64)} t_reel = double; {$ELSE} t_reel = single; {$ENDIF} t_vect1 = Array[0..0] OF t_reel; t_vect2 = Array[0..1] OF t_reel; t_vect3 = Array[0..2] OF t_reel; const k_vect1_nul : t_vect1 = (0.0); k_vect2_nul : t_vect2 = (0.0, 0.0); k_vect3_nul : t_vect3 = (0.0, 0.0, 0.0); procedure test(); var iLoop:integer; l_SW1:TStopwatch; l_vec1: t_vect1; l_vec2: t_vect2; l_vec3: t_vect3; begin l_SW1:=TSTopWatch.StartNew; iLoop:=0; while (iLoop<900000000) do begin //l_vec1 := k_vect1_nul; //option 1 //l_vec2 := k_vect2_nul; //option 2 l_vec3 := k_vect3_nul; //option 3 inc(iLoop); end; l_SW1.Stop; Showmessage(intToStr(l_SW1.ElapsedTicks)+' ticks / '+intToStr(l_SW1.ElapsedMilliseconds)+' ms'); end;
  13. dlucic

    Project raised exception class 10

    I am developing an android application on Delphi 12. My application connects to a DataSnap server. Some times, but not every time, my application throws this exception. Once when the application starts, the second time when a new form is opened and sometimes everything works without error I suppose everything crashes on line 312 in this module Those any one know the reason of this?
  14. sjubussen

    CCR.Exif with lots of errors.

    As a retired developer i'm a bit rusty (71 years) , and now i have run into a problem. I created a small windowsapplication using Delphi community edition 10.4 (i think) on Windows 10. The CCR.Exif worked perfectly. Since then i have upgraded to Windows 11 and to Delphi 11 build 3. Now when i try to compile my project i get a lot of errors on CCR.Exif files. Here it seems that the CCR.Exif is not recognised (Pic1). Then i tried to create a small application and added all CCR files to the project. This gave me the error in Pic2. I hope there might be a simple solution to this and someone can help? Please?
  15. Liz

    Use java code in Delphi

    Hello, I am working with Rad Studio and I need to make an application in Delphi for the phone that connects via USB to an Esp32 and sends and receives data. I didn't find anything available for delphi, so I chose to download a java library that handles it(https://github.com/mik3y/usb-serial-for-android), downloaded the .jar and converted it to .pas with java2op, but now I can't find a way to use the methods correctly and have the devices detected. by usb. Could you see this system, tell me how I could call the classes and methods in the interface or do you have some direct form of Delphi that allows me to make the connections with the USBs or at least see the connected devices usb-serial-for-android-3.8.0.jar JavaInterfaces.pas
  16. I have simple DataSnap server application with connection to MS SQL Server and also simple client application. On the server side I have TFDConnection object to connect to MS SQL Server. I also have TFDQuery with simple sql "insert into slika_test (slika) values (:slika)". Param slika is for image datatype in table test_slika. This is properties of Param slika of TFDQuery object Of course, there is DataSetProvider object On the client side I have TSQLConnection and DSProviderConnection object's. I connect to DataSnap server application with them. There is also TClientDataSet object This is code for click on Button I load image from Image1 object on the form into MemoryStream. Than I put that MemoryStream in Param of ClientDataSet object and execute. When I do that for the first time everything goes well. Data is stored in MS SQL table. But when I click it another time and same code executes I receive this error on the server application Any body knows what is the problem?
  17. I have a problem when my andoroid device lost wifi and connection broke. I can not reestablished that in ordinary maner. My andorid application have TSQLConnection object that connects to DataSnap server application. Everything works fine until I issue network problem. When wifi temporarly lost connection TSQLConnection also lost connection and I get Socket error #103 when I try to open TClientDataSet and that is OK. When I try it once again it works fine. I supose my application successfuly reconnect and open the query. But when I tryed it for the third time I have Socket error # 104. And again. Once OK another time Socket error #104. There is no problems when wifi connection is stable. What should I do?
  18. JohnLM

    Scroll an image with mouse (Solved)

    I am having trouble figuring this one out. I have a form with a tscrollbox and an timage. In the image1MouseMove event of the timage I have the following code; procedure TForm2.im1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin scrollbox1.vertScrollBar.Position := x; scrollbox1.horzScrollBar.Position := y; end; But it is not what I'd expect. What I am trying to do: 1. Lets say I have screenshot of my desktop and inserted into the timage. 2. And I resize the app's form smaller 3. Using the mouse, I want to click on the image and drag (or pan) around inside the form's scrollbox area so that I can see other parts of the image. What am I doing wrong and how can I fix this? TIA
  19. Installed 12.2 4 days ago and after install I used Getit to install a component and all worked Ok. Next day (and every day since) I have started Getit and keep getting 'No Results Found', even though it shows results in the 'New In Getit' and 'Promoted In Getit' sections of the welcome page. Is anybody else having this problem or is Getit simply not working at the moment? Bill Zwirs
  20. I am converting all my internet support code to use native TNetHttpClient and TNetHttpRequest components. I am getting the exception "No mapping for the Unicode character exists in the target multi-byte code page" for some web pages I am downloading using the function shown below. Here is an instance where the exception occur: GetText('https://www.google.com/index.html'); I assume this is an encoding issue. What is the best way to handle this to get my string result? function TIndigoHttp.GetText (const p_Url: String): String; var v_Response: IHTTPResponse; begin f_Error := ''; // Used by OnRequestError try v_Response := f_NetHTTPRequest.Get(p_Url); f_StatusCode := v_Response.StatusCode; f_StatusText := v_Response.StatusText; Result := v_Response.ContentAsString; except on E: Exception do with v_Response do begin begin Result := ''; f_StatusCode := -1*v_Response.StatusCode; f_StatusText := E.Message+' ['+v_Response.StatusText+']'; end; end; end; end;
  21. I created a Datasnap server application that connects to the MSSQL database via the TFDConnection object, and then executes a specific SQL query via the TFDQuery object, the results of which are further forwarded via the TDataSnapProvider object. This is screenshot of that application I created a simple client application that opens this query and displays the results in a ListBox. This is the code : When I run application on Windows I get a correct result with Serbian letters as you can see in the image below But when U start the same application on Android, I have a problem with display of Serbian letters. What is the problem? Thanks
  22. I have a reconnection problem in an android application,using Indy TidTcpClient and TIdThreadComponent. I've tried both the Delphi bundled and the latest Indy version. At the beginning, the program goes through the IP addresses of the available devices. Read and write routines work without problems, but when you try to change the IP address, almost without exception the program freezes. Sometimes it takes a few seconds, sometimes a few minutes before the program responds and about every ten times the program stops responding completely. In Windows, changing the IP address works reasonably well, but sometimes it also freezes. Receiving works...: try StartChar := TCPSocket.IOHandler.ReadChar; if StartChar = '%' then begin Data := TCPSocket.IOHandler.ReadLn('&'); Payload := Data; TCPSocket.IOHandler.ReadBytes(ChecksumBytes, 4); ReceivedChecksum := BytesToString(ChecksumBytes); CalculatedChecksum := CRC16(Payload); if ReceivedChecksum = CalculatedChecksum then begin TThread.Queue(nil, procedure var i: Integer; begin HandleData; end); end else begin TThread.Queue(nil, procedure begin HandleChecksumError; end); end; end; except on E: Exception do begin TThread.Queue(nil, procedure begin HandleException; end); ReceiveThread.Terminate; end; ...but changing IP fails: procedure IpSelectF.IPBtnClick(Sender: TObject); Var Btn: TButton; NewIp: string; begin if Sender is TButton then begin Btn := TButton(Sender); if AvailableIP[Btn.Tag] then begin TTask.Run( procedure begin try if Assigned(MainF.ReceiveThread) and MainF.ReceiveThread.Active then begin MainF.ReceiveThread.Stop; MainF.ReceiveThread.WaitFor; end; if MainF.TCPSocket.Connected then MainF.TCPSocket.Disconnect; NewIp := '192.168.1.' + IntToStr(Btn.Tag); MainF.TCPSocket.Host := NewIp; try MainF.TCPSocket.ConnectTimeout := 3000; MainF.TCPSocket.Connect; if MainF.TCPSocket.Connected then begin TThread.Queue(nil, procedure begin MainF.ReceiveThread.Start; ShowAlertDialog('Connected to ' + NewIp); end ); end else begin TThread.Queue(nil, procedure begin ShowAlertDialog('Connection to ' + NewIp + ' failed.'); end ); end; except on E: Exception do begin TThread.Queue(nil, procedure begin ShowAlertDialog('Failed to connect to ' + NewIp + ': ' + E.Message); end ); end; end; except on E: Exception do begin TThread.Queue(nil, procedure begin ShowAlertDialog('Error during IP switch: ' + E.Message); end ); end; end; end ); end; end;
  23. Can I connect to MSSQL Server with FireDAC on android application? When I try it there is a problem Is there any eay for direct connection from my android application to MSSQL Server
  24. Could someone help me solve the problem with display and response to touch of the button? The test application contains a simple keyboard made of buttons (TButton), has configured TButtonStyleObject and everything works correctly but only when using a mouse. When the application is running on a device with a touch screen, then the visualization elements do not work. Could someone suggest how to easily solve this problem?
×