Since I needed more elaborate RTTI on published methods for a GExperts experiment, I've put the code by Hallvard Vassbotn​ in a repository on GitHub.

Since I needed more elaborate RTTI on published methods for a GExperts experiment, I've put the code by Hallvard Vassbotn​ in a repository on GitHub.

Pull requests are welcome.

For now I've imported everything in Delphi 2007 and wrote a rudimentary readme.

Next step is to fix the known bugs and upgrade some bits I urgently need to Unicode Delphi versions, then port more bits.

https://github.com/jpluimers/HVRTTIUtils
https://github.com/jpluimers/HVRTTIUtils

Comments

  1. Great Jeroen Wiert Pluimers, that's nice of you :).

    Let me know if you need any assistance.

    ReplyDelete
  2. Most of the code needs to be updated for newer Delphi versions/platforms and some pieces can be removed because they are part of TypInfo.pas now or are around in other places of the RTL.

    ReplyDelete
  3. Stefan Glienke GExperts tries to be compatible with really old Delphi versions. So I will make it more compatible with more recent versions, but keep the "old" stuff.

    ReplyDelete
  4. I've only browsed the code on my phone, but my guess is that they have added RTTI for the parameters.

    If so, the roundabout way of trying to discover the parameters should not be needed in newer Delphi versions.

    ReplyDelete
  5. This was a long time ago! :)

    I don't have D2006 installed any more. Have D2009 installed, but it wont start duo to this: plus.google.com - Error: Value cannot be null.Parameter name: key: Thanks to Kjell-Olov Högdahl... - the workaround does not seem to work so far.

    My day-to-day version now is XE6. There have been changes to the VMT and RTTI layouts since D2006, of course. Do you want me to commit changes?

    I've updated the VMT layout to match XE6 and D2009 System.pas defines. There are still mismatches in published methods that cause the error you see. What version are you using initially? Do you have easy access to multiple versions?

    ReplyDelete
  6. Hallvard Vassbotn I'm about to push a few change sets that make everything build in Delphi XE8. Can you diff your work against that?

    ReplyDelete
  7. Sure. I've changed very little anyway:)

    ReplyDelete
  8. Hallvard Vassbotn just send a pull request againt the current master; making my changes compatible with Delphi 2007 took more time than anticipated. I will merge your changes in.

    ReplyDelete
  9. Jeroen Wiert Pluimers #1 on your TODO list should be writing unit tests ;)

    ReplyDelete
  10. Stefan Glienke since the current test code duplicates so much from the actual units, I'd rather first understand the test code before converting it into unit tests.

    So feel free to add an issue converting the test code to unit tests.

    ReplyDelete

Post a Comment