Variável private

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Variável private

Mensagem por MARCELOG »

Olá pessoal,
como é o funcionamento da variável private?
É que criei explicitamente uma variável private e associei um controle tsbrowse à mesma no prg1.
Todas as funções criadas nesse prg1 que utilizam dados vinculados à variável funcionam normalmente.
Daí chamo uma função qualquer.
Entretanto, essa função foi criada no prg2 e também utiliza dados vinculados à variável criada no prg1.
Só que não está sendo possível acessar os dados dessa variável corretamente.
Pelo que sei, a partir da criação de uma variável private ela é visível em todo o processamento e nas funções chamadas também a partir da sua criação.
Será que esse comportamento é restrito ao prg em que foi criada?
Tem como alterar?
É que não queria ter que enviar a variável para a função criada no outro prg, seja por valor ou referência.

Obrigado.

MarceloG
Água mole em pedra dura tanto bate que até espirra!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Variável private

Mensagem por Maligno »

O conteúdo de uma variável private é conhecido na função que a criou e em todas as demais funções chamadas a partir dela. Quando a função criadora morrer, morre também o escopo dessa variável. Portanto, não é global. Nem mesmo em nível de PRG.

No Clipper é assim. No [x]Harbour tem de ser assim também. Esse comportamento não depende de uma forma diferente de compilação. É assim nativamente.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Variável private

Mensagem por sygecom »

MarceloG o xHarbour e Harbour funciona como o antigo Clipper, então nesse seu caso a sua variável deve sim aparecer nas funções para frente de onde iniciou as PRIVATE.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder