RegisterClass inoperante em package

Delphi

16/07/2013

O projeto tem duas partes bem distintas: Framework e Classes de negócios.

RegisterClass é utilizado em ambas as partes para ser usada por uma fábrica de objetos. Quando construo o executável with run-time packages, as especializações da classe de serviços de transações do framework, para ADO e DBX, apenas elas, não estão sendo registradas; o RegisterClass, que é executado antes do Application.Initialize, não passa por ali.

Uma característica me chamou a atenção agora que reproduzo as declarações das classes: a cláusula abstract:
TFwkSrvTransaction = class abstract(TInterfacedPersistent)
TFwkSrvTransactionADO = class abstract(TFwkSrvTransaction)
TFwkSrvTransactionDBX = class abstract(TFwkSrvTransaction)

Será ela a responsável pelo bug? Já eliminei a cláusula da classe ancestral, mas não das filhas. Vou testar, mas publico a dúvida para que alguém com mais conhecimento possa comentar sobre RegisterClass e TInterfacedPersistent: quando são necessárias, quais as regras básicas para evitar os erros mais comuns?

Grato pela atenção.

Henrique
José Silva

José Silva

Curtidas 0
POSTAR