Jump to content

TurboMagic

Members
  • Content Count

    242
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by TurboMagic

  1. TurboMagic

    Delphi 12 is available

    Well, paying subscription users usually get an invitation to the beta as well nowadays afaik.
  2. TurboMagic

    Delphi 12 is available

    Not sure where you looked at, but for Delphi Android and iOS are supported. For Android the SDK 33 requirement is fullfilled with 12.0 now. If you should be a C++ Builder developer things would look differently, but since this is a Delphi forum I doubt you are one... 😉
  3. I also struggle to load a .so. In my case the .so was created in Delphi for testing purposes. I tried to follow your idea with the deployment but I didn't fully understand this yet. Is this only relevant if I'm building an .aab later on? I'm currently still struggeling with a normal apk / debugger / debug build. I'm currently using an Android 11 device but will test on a Android 13 device in a few minutes. On the device used the first call to SafeLoadLibrary results in a Segmentation fault(11) crash. Here's my code: procedure Tf_Main.b_CalcClick(Sender: TObject); var Handle : HMODULE; s : string; begin Memo1.Lines.Clear; s := TPath.Combine(TPath.GetLibraryPath, 'libSO_Test.so'); if System.SysUtils.FileExists(s) then Memo1.Lines.Add('Exists'); Handle := SafeLoadLibrary('libSO_Test.so'); Memo1.Lines.Add('Handle1: ' + Handle.ToString); if (Handle = 0) then Handle := SafeLoadLibrary(s); Memo1.Lines.Add('Handle2: ' + Handle.ToString); if (Handle <> 0) then begin try FDoAdd := GetProcAddress(Handle, PChar('DoAdd')); if (@FDoAdd = nil) then Memo1.Lines.Add('Failure loading proc (is nil)') else begin l_Result.Text := FDoAdd(tf_Summand1.Text.ToInteger, tf_Summand2.Text.ToInteger).ToString; FDoAdd := nil; Memo1.Lines.Add('Success'); end; finally FreeLibrary(Handle); end; end else Memo1.Lines.Add('SO handle is invalid'); end; Any idea?
  4. Hello, the DEC (Delphi Encryption Compendium) library recently got a pull request from somebody to make it more compatible with FPC. While that's nice I took that request, but found out later, that it made it no longer compile on Delphi. With some help of Stevie I got that fixed, but I guess it now doesn't compile on FPC anymore. The issue is the use of IFDEF/IFEND etc. constructs. While I want to stay FPC compatible with DEC I have not enough knowledge of FPC and I also lack the time to look after that part right now. So I'd be grateful if somebody could look at this and make suggestions how to change it so that it is compatible with both. Cheers TurboMagic
  5. TurboMagic

    Delphi Code Coverage WIzard Plus V2.0 released

    This is the information that I added a few things in development branch of this tool lately. I updated the command line code coverage tool used and started to add the new parametrs it provides. I haven't yet added all and I don't think all make sense for this tool, but you might still want to try it out. I haven't tested those additions yet, as I don't fully understand yet how they must be used from that bit of documentation provided for them and now I have lack of time, but I still hope they're usefull as is. So if I get feedback on them (and I didn't completely missunderstand those) I might still get a new release together soon. Cheers TurboMagic
  6. I'm using FastReports Embarcadero edition. I'm looking for an even which signals me, that the report has been output (saved as PDF or sent to the printer). I haven't really found a suitable event yet. Maybe I just overlooked it?
  7. I'll try to find the time to look into those examples tomorrow. I have to find the cause of some memory issue where my report generating class gets an interface reference, which it stores as a field in the object instance. It takes some of the data from it and assigns that to the report components in OnGetValue event. But when that event is called, the field with the interface reference is NIL! I haven't found out yet, who nils that reference or who overwrites that memory... 😞
  8. I wrote the OnAfterPrint events into some log now and it looks now, that this is not called after printing the complete report, but after printing each "component" on it. Reading the manual I find this confirmed: it is called after each band at least. I was looking for something being called after the complete report has been output.
  9. The event would be used to clear some data once the output has been created and thus Fast Reports no longer needs to have access to that data. Since the output is mandatory that shouldn't be problematic.
  10. Thanks, will try this one! In those cases where I print/output without preview the user cannot cancel 😉
  11. Hello, this is to let you know that there was a open source collaboration project started to create a formal specification of the Delphi language in Backus-Naur format (https://en.wikipedia.org/wiki/Backus–Naur_form). It is hosted on GitHub here: https://github.com/MHumm/DelphiGrammar David Hoyle contributed his Delphi 10.3 version as a starting point. If you want to participate in this endeavor, which might help developers of language tools, just drop me a message with your GitHub account name and I'll give you commit permission. Either via this forum or as an issue on that GitHub project. Currently I picked Apache 2.0 as license, but if necessary we can discuss to use something else. Cheers TurboMagic
  12. Now you discussed this at length but it looks like no clear conclusion was reached yet and nobody seems to have done anything about this grammar. Looks like a grammar is not usefull at all... 😉
  13. TurboMagic

    TComPortDrv V3.1 released

    Hello, yesterday I released V3.1 of TComPortDrv, a RS232 handling component for Delphi. It is available here: https://github.com/MHumm/ComPortDriver/releases/tag/V3.1 And most likely via GetIt as well. There it's still V3.0, but I already sent in V3.1 to update the entry. What's new? fixed the wrong handle type used, which made it fail in 64 bit applications => it's 64 bit compatible now fixed a deadlock situation which could happen if somebody called MessageDlg from an eventhandler. That called that event handler again which called MessageDlg again which... 😉 So enjoy it TurboMagic
  14. TurboMagic

    Delphi Code Coverage WIzard Plus V2.0 released

    Next useful info: it is available via GetIt now as well!
  15. Hello, I'm using D11.2 with FireDAC and a Firebird database. I have just set ExtendedMetadata in the DB Connection params to true to solve some other issues in some new part of the application. When running the app now this leads to a crash in previously working code. x := In that previously working code I do a FieldByName('MyColumn').AsInteger; The column is specified as SmallInt via some self defined domain. The crash now is an exception: First chance exception at $7720E292. Exception class EDatabaseError with message 'Feld 'MyColumn' cannot get accessed as type Integer . Process MyApp.exe (11560) (message translated from german) Why dos this crash now and how to fix it with .AsSmallInt not being available? Ok, I found out that it thinks my column to be a boolean now. But how does he know this? The dmomain is defined as SmallInt and no constraints.
  16. TurboMagic

    ExtendedMetadata and .AsInteger for small int column

    Thanks for all the answers. It detected it since my domain contains "BOOLEAN" in its name. Learned something with this now. Good to know about boolean type in FB 3, but the application is currently still on 2.5. Can't do everything at the same time... 😉
  17. TurboMagic

    Delphi Code Coverage WIzard Plus V2.0 released

    Just try it out, but be aware that I'm not the developer of CodeCoverage.exe, just of the Wizard around it. 😉 The other project is linked to from my project site though.
  18. TurboMagic

    Code coverage wizard plus

    Hello, do good and talk about... I'm currently shortly before releasing a new tool. It''s named "Delphi Code Coverage Plus" and is a completely rewritten and improved version of "Delphi Code Coverage Wizard". You can already get it on GitHub and it already works, the things before a 1.0 release I want to do are mostly cosmetic ones. Here is the link: https://github.com/MHumm/delphi-code-coverage-wizard-plus Now what can it do for me? It is a GUI tool which can generate everything needed to run the commandline Delphi Code Coverage tool that Delphi Code Coverage tool would run your unit tests and find out which lines of code your unit tests are actually run by the unit tests and which ones are never reached Why did I rewrite it and what's new/improved? The former Wizard (remember: I only reworte the wizard, not the command line tool itsself!) would generate the batch file to run the command line tool and create other necessary files, but if you changed something in your Delphi project, you would have to update these files/batch file yourself manually The new wizard got rid of JVCL components so it uses only what comes with Delphi itsself, which hopefully makes it easier for others to contribute The new wizard introduces a project format so you can load and modify an existing project, e.g. if you added more units to your project or need a different output format The new wizard can add itsself to Delphi's Tools menu if you like. The new wizard stores his position and window sze so it opens the same positionand with the same size new time it is started The new wizard should be HiDPI capable The new wizard can directly show the HTML output if you selected that one as output format What else is there to know? it was developed with 11.2, but most likely will compile and work fine with 10.4 For isntallation download the ZIP from GitHub or clone it, then open and run the project file There are plans to release it via GetIt package manager as well If you like this tool you can "star" it on GitHub 😉
  19. TurboMagic

    Code coverage wizard plus

    Just to let you know that the development branch of that project now contains a much improved version, which will be released as V2.0 in the near future. What did improve? Fixed issues with units whith dots in their name by adding some parameter automatically Updated the version of CodeCoverage used to a current one, thus the generated HTML output looks much nicer Added further output formats Added further parameters Added the possibility to specify any parameters not already covered by the wizard Added the possibility to specify where these additional parameters will be placed in the generated batch file Create output dir etc. if that doesn't exist yet Bugfixes
  20. TurboMagic

    Code coverage wizard plus

    Master branch is updated with new code and some documentation (format of that needs fixing though): there are some command line params now -O for opening and -R for opening and running a project file and Tools menu integration has been reworked to contain two entries now. If you place your DCCP project file inthe same directory as the dpr/dproj, you can run it from tools menu now... Enjoy!
  21. TurboMagic

    Code coverage wizard plus

    I just commited an updated version: I fixed a bug where empty paths/file names were added to the .lst files under some circumstances. This really upset CodeCoverage.exe (it created an av in ntdll.dll!) The log-file output path is now the same as the report output path. The links in the new about dialog are opened in the browser now. If you pass a file name as command line parameter the tool will act as if you had clicked "Open" in the tool and loaded the file. I added some screenshots to the readme on GitHub. That's not a new release yet but some good improvements in my eyes. More should be comming over the next few days.
  22. TurboMagic

    Code coverage wizard plus

    I found out by talking to the one posting the bug report on the DE Delphipraxis forum, that this does not seem to be in the wizard but rather in the coverage tool itsself. We'll investigate. I cheched my project source and it has no JCL/JVCL units in its uses at all.
  23. Ups, sorry! I had missed that one!
  24. TurboMagic

    Code coverage wizard plus

    Gah! I'm sorry to report that a bug crept in. There's still some dependency on JCL or so in there at some place. I'll try to fix this tonight. So if you don't have JCL/JVCL installed it will not run at the moment.
×