Contador de instancias
Como eu faço pra ter uma propriedade em um objeto que seja o mesmo em todas as instancias ? tipo, um contador de instancias ?
Outra duvida, se eu tenho duas units com um objeto ou type com nomes iguais como eu defino de qual dos dois eu vou usar ?
Obrigado
Emilio
Outra duvida, se eu tenho duas units com um objeto ou type com nomes iguais como eu defino de qual dos dois eu vou usar ?
Obrigado
Emilio
Emilio.cini
Curtidas 0
Respostas
Raserafim
30/11/2003
quanto a sua última pergunta:
se você declarar apenas uma das units, o objeto que será executado será a da unit declarada. Mas se você declarar as duas units, então a que vai ser executada é a da última unit declarada.
se você declarar apenas uma das units, o objeto que será executado será a da unit declarada. Mas se você declarar as duas units, então a que vai ser executada é a da última unit declarada.
GOSTEI 0
Beppe
30/11/2003
Como eu faço pra ter uma propriedade em um objeto que seja o mesmo em todas as instancias ? tipo, um contador de instancias ?
Crie uma variável global, na parte de implementation.
Então escreva uma função para o read da propriedade, que devolve esta global. Para o seu contador de instâncias, você incrementa-a no Create e decrementa no Destroy.
...
function GetInstaceCount: Integer;
...
property InstanceCount: Integer read GetInstanceCount;
...
var
InternalInstances: Integer;
...
function ...GetInstaceCount: Integer;
begin
Result := InternalInstances;
end;
Outra duvida, se eu tenho duas units com um objeto ou type com nomes iguais como eu defino de qual dos dois eu vou usar ?
Obrigado
Emilio
Quando você necessita diferenciar entre objetos de duas units, você usa qualificação. Po exemplo, tem TBITMAP em Windows e em Graphics, então para acessar a do Windows, usa-se Windows.TBITMAP.
GOSTEI 0