> What in the world does your code do that it needs to muck around in
the VMT?
We need change a pointer of Class's method on VMT by other one handled
for us. This will enhance the Infra Aspect framework!
To start will need some procedure or function able to call a object's
method (REGISTER declared) passing parameters. This parameters will be
the same that original. Sample
IOrder = iinterface
[{GUID}]
function CalculateTax(Param1: IInfraString; Param2: IInfraInteger):
IInfraFloat;
end;
TOrder = class(TInfraObject, IOrder)
protected
function CalculateTax(Param1: IInfraString; Param2: IInfraInteger):
IInfraFloat;
end;
then this method is registred on manager like:
TypeRegisterService.RegisterMethod(IOrder, 'CalculateTax',
@CalculateTax);
We need a function able to call this protected method like:
Params.Clear;
Params.Add(TInfraString.NewFrom('Test'));
Params.Add(TInfraInteger.NewFrom(125));
Result := CallMethod(SomeOrderInstance, 'CalculateTax', Params);
We know that need to use ASM but we don't know how to do! We need help
for this.
> The JCL has a set of functions for inspecting a class's virtual- and
> dynamic-method tables. I've found them more useful for checking and
> changing _other_ parts of the VMT than the method pointers, such as
the class's name and its size.
> I don't have a copy of that book, but I can probably answer whatever
> questions you have about the VMT.
> > Who have interest to know Infra is welcome
> You might generate more interest if you actually explained what it is.
Infra is a set of frameworks for development of object oriented
applications using Delphi. It´s not only a persistence framework
either an application generator or GUI Framework like MVP
(Model-View-Presenter pattern). Infra is a base architecture for all
of that.
The mean idea behind Infra is development driven to models, it is,
complete support of an application based in its UML models.
Motivation for this project raised when I was trying to use DePO and
tiOPF to make use of OO in Delphi. Unhappily theses frameworks doesn't
have a reflection mechanism, something that could take place of RTTI
to make us get more info about our business model elements and with
this, execute a UML model.
Other motivation for Infra creation, was some features showed by Bold
and ECO, even been good frameworks I don't agree about dependence vendors.
Infra will offer many base frameworks for application development and
an application generator, wich make use of these base frameworks.
Infra will introcuduce some features like:
* Respectable reflection architecture, able to take place of RTTI;
* Support for AOP Aspect Oriented Programming. This will help
using other frameworks out from Infra and intercept object messages;
* Generic validation for business objects;
* Persistence tier for RDBMs and not Relational databases;
* Natural and automatic evolution for the persistent storage (flat
file or RDBMs);
* Robust notification architecture, something like Observer
pattern but with a improved core;
* Derived attributes, something like calculated fields from Client
DataSet but much better;
* GUI using MVP pattern;
* Code generation using XSLT. This allows generate code for any
language;
* Importing and Exporting routines using XMI;
* An OCL parser to get information about UML model, like a
selection of its objects and constraints;
* Graphic Editor for UML models;
* MDA tool supporting MetaModels and transformations among them;
We have many things of this list, ready!
Infra will flexibly many applications tiers using OO, making
application and its development easier. Its worthy spend some time for
Infra, because it will offer great productive.
------------------------ Yahoo! Groups Sponsor --------------------~-->
Most low income homes are not online. Make a difference this holiday season!
http://us.click.yahoo.com/5UeCyC/BWHMAA/TtwFAA/i7folB/TM
--------------------------------------------------------------------~->
-----------------------------------------------------
Home page: http://groups.yahoo.com/group/delphi-en/
To unsubscribe: [EMAIL PROTECTED]
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/delphi-en/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/