Commons
Commons
🌍 Idioma: English | Español
Utilidades transversales para aplicaciones DAFce — punteros inteligentes, tokens de cancelación, futuros asíncronos, ejecución de procesos, helpers de RTTI, abstracciones enumerables, parsing de línea de comandos y más.
Módulos de un vistazo
| Unidad | Aspectos destacados |
|---|---|
Daf.MemUtils |
ARC<T> smart pointer (reference to function: T), TFinalizer, TPurgatory |
Daf.Threading |
ICancellationToken, ICancellationTokenSource (fábrica: CreateCancellationTokenSource), TShutdownHook |
Daf.Enumerable |
Adaptador ToIEnumerable<T>, IInterfaceList<T>, TInterfaceList<T> |
Daf.SystemProcess |
TSystemProcess — runner de procesos externos asíncrono con eventos |
Daf.CmdLn.Parser |
Parser de argumentos de línea de comandos |
Daf.Rtti |
Helpers de RTTI — _T.Extends, predicados de tipo |
Daf.Activator |
Crear instancias de clases mediante RTTI |
Daf.Arrays |
TArrayHelper (Map, Trim), TSmartArray<T> (estilo LINQ: Where, Select, Contains, Sort, …) |
Daf.Expression |
Evaluador de expresiones simple |
Daf.Types |
Tipos base comunes |
Ejemplos rápidos
Puntero inteligente ARC
uses Daf.MemUtils;
var Ref := ARC.From<TMyObject>(TMyObject.Create);
Ref().DoWork;
// liberado automáticamente cuando Ref sale del scopeToken de cancelación
uses Daf.Threading;
var Cts := CreateCancellationTokenSource;
var Token := Cts.Token;
TThread.CreateAnonymousThread(procedure
begin
while not Token.IsCancellationRequested do
DoWork;
end).Start;
Sleep(5000);
Cts.Cancel;Proceso externo (asíncrono)
uses Daf.SystemProcess;
var Process := TSystemProcess.Builder
.Command('git')
.CmdArgs(['--version'])
.OnStdOut(procedure(Line: string) begin WriteLn(Line); end)
.OnCompleted(procedure(R: TProcessResult) begin WriteLn('Hecho, exit=', R.ExitCode); end)
.Build;
Process.ExecuteAsync;Documentación
- 📖 Guía de uso — referencia de API completa para todas las unidades