一键导入
delphi-memory-management
Gestão de memória, ciclo de vida de objetos (constructors/destructors), ARC e Value Objects (records) no Delphi.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Gestão de memória, ciclo de vida de objetos (constructors/destructors), ARC e Value Objects (records) no Delphi.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Diretrizes de SOLID, Clean Code e padrões de nomenclatura para classes, interfaces, métodos e variáveis em projetos Delphi.
Desenvolvimento de microserviços e APIs REST com o framework minimalista Horse em Delphi. Rotas, controllers, middlewares, gerenciamento de memória e tratamento de parâmetros.
Diretrizes de qualidade e desenvolvimento de templates HTML e páginas dinâmicas com Web Stencils (Server-Side Rendering) no Delphi.
Diretrizes e mapeamentos de expressões regulares para migração de componentes Borland Database Engine (BDE) para FireDAC no Delphi.
Diretrizes e mapeamentos de expressões regulares para migração de componentes dbExpress (DBX) para FireDAC no Delphi.
Diretrizes de qualidade e desenvolvimento de APIs web, ORM, injeção de dependências e testes utilizando o Dext Framework em Delphi.
基于 SOC 职业分类
| name | delphi-memory-management |
| description | Gestão de memória, ciclo de vida de objetos (constructors/destructors), ARC e Value Objects (records) no Delphi. |
Estas diretrizes definem as regras e padrões para garantir que a aplicação seja livre de vazamentos de memória (memory leaks) e use os recursos de forma eficiente.
Sempre envolva a criação de instâncias de classes locais em blocos try..finally para assegurar sua liberação segura, mesmo em caso de exceções:
LMyObj := TMyClass.Create;
try
// operações com o objeto
finally
LMyObj.Free;
end;
IMyInterface) possuem contagem automática de referência e são liberadas automaticamente pelo compilador quando perdem o escopo..Free ou tente liberar manualmente variáveis do tipo interface.[weak] ou remova a referência manualmente ao destruir o objeto base).record em vez de class.records são alocados na stack e desalocados automaticamente quando saem de escopo, eliminando a necessidade de blocos try..finally e simplificando a gestão de ciclo de vida.inherited; (ou inherited Create;) na primeira linha ou onde for adequado para a inicialização da classe base.TObject.Destroy usando a diretiva override; e invocar inherited; (ou inherited Destroy;) como sua última instrução.constructor TMyService.Create;
begin
inherited Create;
// inicializações da classe filha
end;
destructor TMyService.Destroy;
begin
// liberação de recursos da classe filha
inherited Destroy;
end;