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 General Discussions
    • Tips / Blogs / Tutorials / Videos
    • Delphi Third-Party
    • 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 38 results

  1. https://community.idera.com/developer-tools/b/blog/posts/get-ready-for-the-10-4-beta-with-update-subscription
  2. bazzer747

    RadioGroup Oddity

    Hi, I have a table which has an internal calculated field nHcap. It is a numeric field with values from 1 to 54. In the table I have another field which has a value of either 'Div 1', 'Div 2', or 'Div 3'. I use a RadioGroup with these three values available for selection, and when a selection is made I filter the table to show only records that have a certain nCap value. These values are 'Div 1' from 1 to 17, 'Div 2' from 14 to 21, and 'Div 3' from 20 to 54. The OnCLick event for the RadioGroup looks like this: procedure TfLadyMembers.rgDivsClick(Sender: TObject); var cChoice: String; begin dm.vMembers.Filtered:= False; //Start with clean slate cChoice:= rgDivs.Items[ rgDivs.ItemIndex ]; with dm.vMembers do begin if cChoice = 'Div 1' then Filter:= 'nHcap < 17'; if cChoice = 'Div 2' then Filter:= 'nHcap > 13 AND nHcap < 21'; if cChoice = 'Div 3' then Filter:= 'nHcap > 20'; Filtered:= True; end; if cChoice = 'All' then dm.vMembers.Filtered:= False; end; The problem I'm seeing is that when 'Div 1' is first clicked the filter gives incorrect records. Clicking the other buttons gives correct results, and subsequent clicks on 'Div 1' gives the correct results. I've traced the code in debug mode and the correct select/filtering is executed, so why am I getting incorrect records on the first selection. Very odd.
  3. In my Service I want to to receive notification when the system is suspended or resumed (Hibernate/Sleep) so that I can Close Active Sockets connections. Similar questions have got the answer 'the service must use a HandlerEx() callback via RegisterServiceCtrlHandlerEx()' but I have not been able to use it in Delphi. Need more assistance please.
  4. bazzer747

    Startup Forms

    Hi When Delphi starts up an existing project, it shows some existing forms. I always thought it would show the forms that were in use when the project was last worked on. This isn't the case, as several forms are opened which haven't been worked on and have been closed down, yet still they are opened when that project is opened again. Where is this detail stored? I can only think in an ini file or the registry somewhere, but more important how can they be changed? Any thoughts would be appreciated.
  5. Goal: I have configured my app to be opened by some links in iOS, like myapp://lala (using custom scheme), or https://myapp.com/c/lala using universal links, and is already opening my app, but i need to know which url that opened my app. (There is even a tutorial in FMX Express) Problem: I'm trying to handle incoming url from my ios app unsuccessfully. On iOS this should be done by capturing event TApplicationEvent.OpenURL like: procedure TipUrlHandler.ApplicationEventMessageHandler(const ASender: TObject; const AMessage: TMessage); begin case TApplicationEventData(TApplicationEventMessage(AMessage).Value).Event of TApplicationEvent.OpenUrl: HandleUrl(TiOSOpenApplicationContext(TApplicationEventData(TApplicationEventMessage(AMessage).Value).Context).URL); else end; end; Mas o TApplicationEvent.OpenUrl nunca é chamado. So I checked the class TApplicationDelegate in the unit FMX.Platform.iOS.pas in which the TApplicationDelegate.applicationOpenURLWithOptions function should be called every time the app is opened by a url as Apple documents: https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623112-application?language=objc class function TApplicationDelegate.applicationOpenURLWithOptions(self: id; _cmd: SEL; application: PUIApplication; url: Pointer; options: PNSDictionary): Boolean; So I went to check if the applicationOpenURLWithOptions method is being added correctly in TApplicationDelegate.CreateDelegateMetaClass: class procedure TApplicationDelegate.CreateDelegateMetaClass; begin ... // Opening a URL-Specified Resource if TOSVersion.Major >= 9 then class_addMethod(DelegateClass, sel_getUid('application:openURL:options:'), @applicationOpenURLWithOptions, 'B@:@@@@') else ... end; And then I was able to prove it wrong! The number of arguments declared is wrong, as the correct one should be B@:@@@ Then I made the modification to FMX.Platform.iOS.pas, being as follows: class procedure TApplicationDelegate.CreateDelegateMetaClass; begin ... // Opening a URL-Specified Resource if TOSVersion.Major >= 9 then class_addMethod(DelegateClass, sel_getUid('application:openURL:options:'), @applicationOpenURLWithOptions, 'B@:@@@') else ... end; But the TApplicationDelegate.applicationOpenURLWithOptions function is not yet called. What is wrong? @EDIT Sorry! It is working for custom schemes like "myapp://lala" (with or without the correction in FMX.Platform.iOS.pas) but it is not working for universal links like https://myapp.com/c/lalala. Although I have already configured the universal link correctly and when I click on this universal link, the iOS open my app, but the url can't be handle with TApplicationEvent.OpenUrl, but I discovered that the handling of incoming url of a universal link is different: Handling Universal Links
  6. Devart, a recognized vendor of connectivity solutions for various databases and cloud services, released the public beta of ODBC driver for NexusDB. The driver can be used to access data in NexusDB databases from various analytics, database management and reporting tools, IDEs and programming languages on Windows (32/64 bit): Excel, Power BI, Tableau, RAD Studio, Lazarus, dbForge Studio, RStudio, and many others. The vendor also notes that Devart ODBC driver for NexusDB provides full support for the standard ODBC API functions and data types and can connect to the NexusDB server directly via TCP/IP. It also supports multilingual NexusDB databases, be it Latin, Cyrillic, or Chinese. As an extra benefit comes cost-effective deployment: the driver is a standalone installation file that does not require the user to install or update any dependencies, while large organizations with hundreds of machines can use the silent install method with an OEM license. Users can download the new driver on the vendor’s website to test it for 30 days for free with the third-party tools. The driver is also available for pre-order. To learn more about the recent release, visit https://blog.devart.com/odbc-driver-for-nexusdb-beta.html About Devart Devart is one of the leading developers of database tools and administration software, ALM solutions, data providers for various database servers, data integration and backup solutions. The company also implements Web and Mobile development projects. For additional information about Devart, visit https://www.devart.com/.
  7. I am using TSslFtpServer , TSslWSocketServer along with TSSLContext component successfully when using the SslCAFile , SslCertFile and SslPrivateKeyFile properties to point to files on the Hard Disk. I noticed there are matching SslCALines , SslCertLines and SslPrivateKeyLines . I filled these properties with text from the corresponding files but it did not work. I am asking this because I would prefer not to expose the Certificate files.
  8. AllanF

    Some assistance on SSL required

    Hi, I am using ICS TFTPServer and TWSocketServer on my Server side application (Delphi Seattle). I want to use SSL to secure the connections. This question is more related to SSL rather than ICS. I have read on SSL and checked the Demo programs too. I yet need some clarity. Mine is a backup application and will be sending critical data over the WAN. If I generate my own certificates via OpenSSL where do I keep the PEM files for the ICS Server components to access ? Should I generate a different PEM file per customer upon installation or can I supply a common one ? I files are large can I have only password exchanged secretly and data without encryption (My data is already compressed with AES ) ? Regards Allan (Thanks for all the new features in ICS)
  9. bazzer747

    Master-Detail Example

    Does anybody know where I can find a (simple) example of setting up a Master-Detail on two tables (MSSQL in my case)? All I can find via the internet are either overly complicated examples or in non-English languages. The Help in Delphi/Firedac is the former and very difficult to follow.
  10. Can someone help me? We are having a bug (access violation) with SSL (HTTPS support) only in 64bits. My current Overbyte ICS version is 8.63. The bug is attached image. {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { V8.57 convert wire-format concactanted length prefixed strings to TStrings } function IcsWireFmtToStrList(Buffer: TBytes; Len: Integer; SList: TStrings): Integer; var offset, mylen: integer; AStr: AnsiString; begin Result := 0; if NOT Assigned(SList) then Exit; SList.Clear; offset := 0; while offset < Len do begin mylen := Buffer[offset]; if mylen = 0 then Exit; // illegal offset := offset + 1; SetLength(AStr, mylen); Move(Buffer[offset], AStr[1], mylen); SList.Add(String(AStr)); offset := offset + mylen; end; Result := Slist.Count; end;
  11. There are 50 new cross platform samples for Delphi 10.3 Rio FireMonkey available over on Github. The demos heavily feature … http://www.fmxexpress.com/50-cross-platform-samples-for-android-ios-osx-windows-linux-and-html5-in-delphi/
  12. Devart, a recognized vendor of professional database management software and Delphi data access components for developers and DBAs, has released SecureBridge 9.1 with support for macOS 64-bit, Lazarus 2.0.4 and the SignalR protocol 2.2. Other notable updates include a new elliptic Diffie-Hellman key exchange algorithm and improved certificate server verification for the TLS / SSL protocol. The full list of new and improved features inсludes: macOS 64-bit is supported; Lazarus 2.0.4 is supported; Support for the SignalR protocol version 2.2 is added; The TScHubConnection component to support the SignalR client is added; Support for the x25519 algorithm for the TLS/SSL/SSH protocol is added; Support for Certificate Revocation List (CRL) is added; Certificate server validation in the TLS/SSL protocol is improved; The chunked transfer encoding for sending out data via HTTP/HTTPS is added; The TScHttpWebRequest.BeforeSendData event is added. SecureBridge offers components that can be used as clients and servers for SSH, SFTP, SSL, FTPS, HTTP/HTTPS, WebSocket, and SignalR protocols to protect data flow over an untrusted network. It is also compatible with data access components to prevent data interception and theft. To learn more about the current release, please visit https://blog.devart.com/securebridge-supports-macos-64bit.html. About Devart Devart is one of the leading developers of database tools and administration software, ALM solutions, data providers for various database servers, data integration and backup solutions. The company also implements Web and Mobile development projects - https://www.devart.com/
  13. Colleagues! We are pleased to present an updated version of the grid component for Delphi FireMonkey - FireDataGrid 1.7. The current version contains many pieces of code that have been completely rewritten to support the current version of FireMonkey RAD Rio 10.3.2. The current version of the component is fully adapted to work on High DPI monitors. The component scaling is processed very carefully (by the pixels) and does not contain artifacts at different screen resolutions. The rendering speed has been increased, and other grid operation bugs in different modes have also been fixed. Redesigned support for FMX themes and styles, absolutely any FireMonkey themes are now supported. Improved the grid zooming feature (activated by the Cntrol +"+", Control+"-" or Control + mouse scroll wheel). Zooming now works much faster. Reworked Filter panel and Field Chooser panel. Added visual effect to them. In addition, bugs have been fixed in the implementation of the TDataSet and the Grid pairing mechanism for read-only, edit modes and in adding new entries mode. You can download the evaluation version at this link. Please send us your feedback and suggestions. All your wishes will be taken into account in further development! Below some screenshots are available: FireDataGrid 1.7 uses Transparent FireMonkey Style FireDataGrid 1.7 uses Windows 10 Modern Blue Style Sincerely, Developer Machines https://www.devmachines.com
  14. Hi all, I'm trying to find what is the meaning of those and what the compiler does with variables declared with with either [out] or [in], like these: TMyRecord = record [in] SrcPosition: TPoint; [out] DstPosition: TPoint; end; I've been trying to search on google and in the doc, but all I can find is references to the normal in and out keywords. Thanks!
  15. Hi, Just wanted to recompile an app I wrote a year ago that compiles fine under Tokyo, Seattle, Rio 10.3... Now under 10.3.2 if I compile it, no matter what the target platform, I get this error message while debugging: Project raised exception class EComponentError with message 'This control requires version 4.70 or great of COMCTL32.DLL' Of course I have strictly no idea whatsoever of which component is at the source of the problem. Any idea what could be the cause? Thanks for any light. Steve
  16. For the Google Cloud database Firebase, there was no complete library for Delphi. The new open source library FB4D closes this gap and supports the Firebase Realtime DB, the new Firestore DB, the Firebase Storage (for file storage) and Firebase Functions (for calling server functions). For authentication, FB4D currently supports email/password authentication and anonymous login. The library builds on the Firebase REST-API and provides all functionality with synchronous and asynchronous methods for the usage within GUI application, services and background threads. Both frameworks VCL and Firemonkey since Delphi 10 Seattle are supported. The library is a pure source code library and relies on class interfaces. https://github.com/SchneiderInfosystems/FB4D The library offers a wiki. Two example applications and a Getting-Started on the wiki will help you to start working with the library.
  17. Hi I want to change the color of the top row of stringgrid. I want to change the white color to gray. ı want to increase the size of stringgrid line from left to right thanks a lot.
  18. I have a big project that has been well documented and illustrated with UML diagrams. How can I generate the HTML version of the documentation? In this page they say that I have two ways to do it: 2) Where is Generate in the model view page? 1) Where is the option in Tools menu? I have alread done what's written here: http://docwiki.embarcadero.com/RADStudio/Rio/en/XML_Documentation_for_Delphi_Code
  19. I'm testing the VCL style in Delphi 10.3 Rio and I wonder if there is a way to include my button's glyph in the vsf file and load the glyph directly from the vsf.
  20. Kryvich

    Pas2js for Delphi

    I have made an adaptation of Pas2js for Delphi compiler. So now it's possible to compile and debug the code of this utility in Delphi IDE. If somebody interested you can find it here: https://github.com/Kryuski/pas2js-for-delphi. The original Pas2js transpiler for Free Pascal is here: http://wiki.freepascal.org/pas2js
  21. Nasreddine

    Forked VSCode for Delphi

    This is posted on QR if you want to vote I'm new to the whole pascal thing compared to your customers (I'm only two year old), and I'm using Delphi community edition 10.2.3 for my current development. I just spent more than 6 hours reading posts and topics about the quality of the IDE and how there are many bugs in it (flagging inline variables as error is funny though) and how it is lacking a lot of quality features that are now a days something for granted. I'm being honest here and I would like to say that the first two things I did after those 6 hours was: 1) look for Delphi alternatives (I found few of them that show promise c# and c++ the vs version) 2) come to propose an Idea here. This is mainly coming from love to the Delphi language and its power, but lets be forward here and say that there is no way I'm going to stick around for as long as those guys in stackOverflow did (some of them 20 years!!!!) with an IDE like the current one. So at the end I would like to propose an Idea that could help a bit, Why not fork the VSCode editor and add the basic form designer to it, it is already supporting Delphi through OminiPascal extension and it could even use syntax highlighters and more features that come out of the box that are not in the Delphi IDE for now. It could support every lacking part from the IDE and it is open sourced so you could get some help from other developers on it. I'm only looking for an answer that could heal the hole in my hart for now. Best regards Nasreddine.
  22. New version 13.3.0 released! + TMiTeC_Startup entries extended to full version info + TMiTeC_SMBIOS tables 16,22,39,41,43,204,219,221 detection added + SMBIOS 3.2 compliance added + TProcListMonThread process priority class and affinity added + TProcMonThread process priority class and affinity added + ROM BIOS Explorer enhanced (version 2.0) + Device monitor volume connect/disconnect event now correctly returns multiple drives For more information about the library, download locations and documentation, see the MiTeC System Information Component Suite Home Page
  23. GreatDayDan

    Copy Sqlite DB to tethered app

    I have created a tethered app. The server needs to copy a Sqlite db and stream it to the client. I get the db with this code: procedure TfmxServer.actStreamTheDbExecute(Sender: TObject); var ms: TMemoryStream; begin ms := tmemorystream.Create; ms := dmplanner.GetDbAsStream; // get it from the datamodule ms.Position := 0; thrprofServer.SendStream(thrmanServer.RemoteProfiles.First, 'Stream_TheDB', ms); // send it to the client end; function TdmPlanner.GetDbAsStream: TMemoryStream; // datamodule var fs: TFilestream; ms: TMemoryStream; begin fs := tfilestream.Create(consqlite.Params.Values['Database'] , fmOpenRead); ms := tmemorystream.Create; try ms.loadfromstream(fs); // ms.size = 315392, file size = (315,392 bytes result := ms; // so I am getting the full db3 file. result.Position := 0; finally freeandnil(fs); freeandnil(ms); // does this kill the result? end; end; I catch the stream and to write the db with this code: procedure TfrmMobile_Client_Main.DoStreamTheDb( const Aresource: TremoteResource); var fs: TFilestream; ms: TMemoryStream; begin fs := tfilestream.Create (dmplannerclient.consqlite.Params.Values['Database'] , fmopenreadwrite or fmCreate); try ms := TMemoryStream.Create; ms := TMemoryStream(AResource.Value.AsStream); ms.Position := 0; // ms.size = 315392, so I got the whole file. ms.SaveToStream(fs); dmPlannerClient.FillLbx(lbxRecipeNames); // now fill a listbox, but when I open a query, I get // [FireDAC][Phys][SQLite] ERROR: unable to open database file. finally freeandnil(fs); freeandnil(ms); end; end; So my question is, How do I copy the db to the client and then use it on the client? Better yet, How do I an in-memory db instead of an on-disk db? I have tried setting the FDConnection filename to :memory: but that did not work. Delphi CE Rio 10.3.2 Thanks...Dan'l' +
  24. Former Senior Borland Engineer - Delphi and C Guru - 33 years experience. Graphics and the Windows API is my speciality. PDF, Printing and Graphics Drivers, VCL, and cross platform code. Very reasonable rates, one hour minimum. Retainers accepted (with discount) for pre-paid consulting and code, billed in 15 minute intervals. Can bill via our LLC, 1099, or W-2. We accept PayPal, credit cards, checks, bank wires, and can arrange for corporate billing. https://code4sale.com/email/TJoe/ TJoe(h^);
  25. Hello, I'm sorry if this topic was discussed several times, I was able to find only a REALLY low amount of information and none of them seemed to work. I need to create a TSslHttpServer (in runtime) and serve the client requests. Everything went fine in my test app so I started to port it to it's final state but it refused to work. Port is opened but no events are being fired. Since I already met this with the standard TClientSocket / TServerSocket so I quickly put my message pump generator in the Repeat...Until Terminated cycle in my main thread. No joy, so I started to investigate. I already found that I should do something with the NOFORMS directive but I was unable to make it work. Result is always the same: connection to the opened port is possible, but no events are fired in my Delphi app, nor the connection responds. - I added the NOFORMS directive to the ICS install package and rebuilt all - I added the NOFORMS directive to my app and rebuilt all - I added the {$DEFINE NOFORMS} to my app's dpr - tried enabling or disabling the MultiThreaded property - Tried moving to my messagepump to SslHttpServer.OnMessagePump - Tried SslHttpServer.ProcessMessages, .MessagePump, .MessageLoop I also mixed the above, meaning tried each combination of each message processor method with each directive. TMyThread = Class(TThread) strict private myhttpsrv: TSslHttpServer; [...] Constructor TMyThread.Create; Begin myhttpsrv := TSSlHttpServer.Create(nil); myhttpsrv.OnClientConnect := WebServerClientConnect; myhttpsrv.OnMessagePump := WebServerMessagePump; [...] Procedure TMyThread.Execute; Begin Repeat If Not _httpsrv.ListenAllOK Then _httpsrv.Start; // myhttpsrv.ProcessMessages; // myhttpsrv.MessageLoop; // myhttpsrv.MessagePump; Until Terminated; [...] Procedure TMyThread.WebServerClientConnect(Sender: TObject); Begin WriteLn('Client connected...'); [...] Procedure TMyThread.WebServerMessagePump(Sender: TObject); Begin If PeekMessage(msg, 0, 0, 0, 0) Then Begin GetMessage(msg, 0, 0, 0); TranslateMessage(msg); DispatchMessage(msg); End; [...] What I am doing wrong? Any ideas on how I can make it work? Thanks!
×