Re: ANN:MeAOP v1.0 Open Source Edit Released now.



thank you Riceball.


--

"Riceball LEE" <riceball@xxxxxxxxxxxxxxxxxxxxx> wrote in message
news:47add6bf@xxxxxxxxxxxxxxxxxxxxxxxxx
Email: riceballl@xxxxxxxxxxx
Author: Riceball LEE
Codebase: http://code.google.com/p/meaop/

License:
The contents of MeAOP are released under the Mozilla Public License
1.1 (MPL 1.1, available from http://www.mozilla.org/MPL/MPL-1.1.html)

* MeObjects *
MeObjects Library for Delphi is a light object extension to make object
type small and powerful. It makes the object type
supports the ClassType, InheritsFrom and ClassName like the Class Type,
but it's mini and faster than the delphi class type.
You can treat it as mini-class type. The MeObjects Library is the MeSDK
core too.

* MeRTTI *
the Mini Run-time Type Infomation of Object. the MeType is stream-able.

* MeAOP *
The MeAOP Library is Aspect Oriented Programming for delphi. IMO, the
aspect is the general feature in fact. It's a helper for
object-oriented programming to re-use the feature(function), such as
the Login feature. Aspect Oriented Programming
attempts to aid programmers in the separation of features, or the
breaking down of a program into distinct parts that
overlap in functionality as little as possible.

* distill/separate the general features from many classes;
* many classes can share the feature, so it need not to modify many
classes if the feature've been changed.
* no necessary to modify the method when adding a new feature to the
method.

I treat the Aspect Oriented Programming as Feature Oriented Programming.

=== MeAOP History ===

Ver 1.0.0.0
* + Add feature to Property
* * [Bug] the other all registered features are lost when remove some
feature from a method.
* * Minor changed.

Ver 0.8.0.0
* * [Bug] Memory Leak
* * Minor changed.
Ver 0.8.0.0 alpha
* + Support to intercept the common method or function with
paramaters.
* + Support the register, pascal, stdcall(safecall), cdecl,
fastcall(the delphi compiler do not support) calling conventions.
* + Support to get/modify the paramaters' value of the intercepted
functions.
* + Support to get/modify the result's value of the intercepted
functions.
* + Support the user defined type of the paramater.

TODO:
* + full test.
* + support the constructor method yet.
* + support the record, static array, dynamic array etc paramaters

Ver 0.5.4.0
* + the trampoline mechanism make the procedure and static-method to
support the reentrant for multi-thread. No need to make pre-hole.
This will increase the Injector's size to 64 bytes.
Switcher: {$DEFINE STATIC_METHOD_SCRAMBLING_CODE_SUPPORT}
Other purposes: hiding/scrambling code
* * [Bug] minor bug fixed.

Ver 0.5.3.0 [Released]
* + the pre-hole mechanism make the intercepted procedure and
static-method to support the reentrant for multi-thread.
{$DEFINE STATIC_METHOD_THREADSAFE_SUPPORT}
you must add this "{$I uMeMakeHole.inc}" to the beginning of the
procedure for support reentrant:
<code>
procedure TestProc;
begin
{$I uMeMakeHole.inc}
...
...
end;
</code>
Note: you MUST define the {$DEFINE
STATIC_METHOD_THREADSAFE_SUPPORT} in your unit file first or the
uMeMakeHole.inc will include nothing.

Ver 0.5.2.0
* + the return value type of the intercepted the function can be any
type now!
* * [Bug] minor bug fixed.

Ver 0.5.1.0
* + Support to intercept the function with no parameters.
* + Support to intercept the procedure/method in the DLL or BPL.
* * [Bug] minor bug fixed.

Note[0.5.1.0]:
* !* Only Support the register calling convention function.
* !* the return value type of the intercepted the function must be a
simple type:
Ordinal type, Real type, Pointer type(class, class-reference, and
procedure-pointer),
little static-array, record, and set type(it must be less than
4bytes)

Ver 0.5.0.0 [Released]
* + First Released.
* + intercept the procedure and method with no parameters.

Note[0.5.0.0]:
* !* DO NOT Support the Multi-thread with the intercepted procedure
and method
* !* DO NOT Support to intercept the functions!
* !* DO NOT Support to intercept the Constructors and destructors
* !* DO NOT Support to intercept the procedure/method in the DLL or
BPL.


--
Happy Spring day.
Happy coding with pascal.


.



Relevant Pages

  • ANN:MeAOP v1.0 Open Source Edit Released now.
    ... aspect is the general feature in fact. ... Ver 1.0.0.0 ... + Support the register, pascal, stdcall, cdecl, ... + Support to intercept the function with no parameters. ...
    (borland.public.delphi.thirdpartytools.general)
  • Re: POTUS - POS
    ... Intercept, recce, and ... The MIG-25 would be almost useless in close ground support. ... >> What they need are helicopters. ... I've maintained that the effectiveness of bombing is ...
    (soc.retirement)
  • RE: httpHandlers problem
    ... are you just wantting to let it intercept ... all those requests with the *.rtf format regardless of the path hierarchy ... Microsoft MSDN Online Support Lead ... where an initial response from the community or a Microsoft Support ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Possible to intercept a call with tapi
    ... i think my pbx doesn't support it.. ... My idea was to intercept a running conversation and redirect/transfer it to ... // res will be negative here! ...
    (microsoft.public.win32.programmer.tapi)
  • Re: B-Tree Index Usage
    ... I asked for feedback on the need for a re-index feature that would make ... support an enhancement request that allows this sort of thing to be ... Support translates directly to something that should be ... and no one else driving this popular model truck ...
    (comp.databases.pick)