Zum Beispiel der dblClick Event.
Workaround:
Einfach im Source-Code zuweisen.
procedure TForm1.FormCreate(Sender: TObject);
begin
Grid1.OnDblClick := Grid1DbkClick; // Kein Eintrag im OI
end;
Windows
/ Android
|
OSX
/ iOS
|
11,8 MB
|
12,3 MB
|
12,3 MB
|
12,3 MB
|
11,8 MB
|
11,8 MB
|
12.056,3 KB
|
12.345,7 KB
|
12.345,7 KB
|
12.345,7 KB
|
12.056,3 KB
|
12.056,3 KB
|
Version
|
Distribution
|
Erst
Käufer
|
Update
Verlängerung
|
Lite
|
DCU
|
49,- €
|
19,- €
|
Full
|
DCU
|
99,- €
|
59,- €
|
Lite
|
SOURCE
|
199,- €
|
69,- €
|
Full
|
SOURCE
|
399,- €
|
199,- €
|
procedure Foo<T>(AInvoke : TProc)
begin
...
// Log(AInvoke)
...
end;
type
TFDKProcLogHelper = class abstract
public
class function Proc2String(P : Pointer) : String;
end;
class function TFDKProcLogHelper.Proc2String(P : Pointer): String;
type
PIInterface = ^IInterface;
var
UnitName : String;
Ctx: TRttiContext;
ProcType : TRttiType;
obj : TInterfacedObject;
begin
obj := PIInterface(P)^ as TInterfacedObject;
UnitName := obj.UnitName;
Ctx := TRttiContext.Create;
try
ProcType := Ctx.GetType(obj.ClassType);
finally
Ctx.Free;
end;
Result := '"'+UnitName+'.'+ProcType.ToString+'"';
end;
Jetzt kann ich ich loggen mit:
procedure Foo<T>(AInvoke : TProc)
begin
...
FDKConfig.GetLogger( Self ).Debug( 'Foo<%s>(%s)', [
PTypeInfo( TypeInfo( T ) ).Name,
TFDKProcLogHelper.Proc2String(@AInvoke) ] );
...
end;