Show quoted text 17 lines
Joost van der Sluis wrote:
> Hi all,
>
> I'm writing my own method propertyeditor. And I want it to create the source
for a new method. Only problem is that it should use the RTTI-information to
obtain the method's parameters.
>
> Now if I , it does exactly what I want
except that CodeToolBoss.CreatePublishedMethod is called with the
UseTypeInfoForParameters parameter set to false. In my case it has to be true.
;)
Why?
The RTTI might use mediator objects or things from the wrong
platform. The codetools use the project sources and that's what
the compiler is seeing too.
Because in my case, there are no events in the project-sources. It's an iOS objective-pascal project. The events for objective-c objects are not defined in the sources/headers, afaik. So it is not possible to adapt the codetools to find them from the sources.
It's just: event 1 is always onTouchDown, which has one parameter 'id'. (Actually only the amount of parameters is important for Objective-C, but Objective-Pascal also needs the type)
Show quoted text 8 lines
> Now I could try to write my own method which does the same thing, but then
I'll need several things which are defined in the ide-package, which I can not
use. Especially the FormEditor1.CreateNewJITMethod is necessary, or else it is
not possible to return a create JITMethod for the new event.
Wow. That's the worst hack of the IDE. I was glad to get rid of it and
now someone asks for its return.
Are you sure you need them?
Well... I needed them earlier, for reading the events. To work around the absence of CreateNewJITMethods I had to use the TReader-class, and keep a list of all defined TJITMethods, so I know which TJITMethod actually corresponds with each real event.
But I don't need direct access to TJITMethod, if I have a way to create an event based on the rtti-info in some other way.
Joost.