Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Erro Inaccessible Value


Eduardo Morais

Pergunta

Pessoal, estou com um problema desde a semana passada e não consigo resolver, já procurei na net porém não obtive sucesso.

Problema:

Eu tenho uma unit com uma variável privada:

private 
    FLiberar: integer;
Logo abaixo eu tenho uma property com o meu metodo get e set para gravação e leitura da variável e também tenho uma procedure para a gravação desse valor:
public 
    property Liberar: Integer read FLiberar write SetLiberada; 
    procedure SetLiberada(const Value: Integer);
procedure TCD_Notas_Disciplinas_ALuno.SetLiberada(const Value: Integer); 
begin 
  FLiberar := Value; 
  btnLiberada.Enabled :=  arquivo.qy_Turma_Pauta_alunoTURPAUSTATUS.Value = 'ME'; 
  if FLiberar = 1 then 
    btnLiberada.Caption := 'Bloquear Disciplina' 
  else 
    btnLiberada.Caption := 'Liberar Disciplina'; 
end;
Dai na minha segunda Unit eu faço a chamada do metodo write para gravar um valor na minha variável privada:
procedure Tarquivo.ds_Turma_Pauta_alunoDataChange(Sender: TObject; 
  Field: TField); 
begin 
  if qy_Turma_Pauta_alunoLiberada.Value = 'S' then 
     CD_Notas_Disciplinas_ALuno.Liberar:= 1 
  else 
    CD_Notas_Disciplinas_ALuno.Liberar := 0; 
end;
Esse código funcionava normalmente, só que de alguns dias pra cá começou a dar erro, não sei porque ele começou a parar de funcionar quando chega nessa linha:
FLiberar := Value;

Vim debugando e percebi que essa variável está com Inaccesseble Value e me gera um erro de Access violation porque essa variável "não existe", agora não sei a causa desse erro tendo em vista que o código funcionava perfeitamente.

Isso ocorre quando acessa o objeto de um formulário em outro...

Agradeço a todos desde já.

Editado por Eduardo Morais
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Pessoal, eu consegui o problema é que eu criei uma procedure que chama os formulários para não ficar chamando um por um, dai eu passo como referencia o nome do formulário e abro isso me gerava o erro...

class procedure TGlobal.ChamarFormulario(
  lo_obj_formulario: TComponentClass);
var
  lo_formulario : TForm;
begin
  Application.CreateForm(lo_obj_formulario, lo_formulario);
  with lo_formulario do
    begin
      ShowModal;
      Release;
    end;
end;

agora vou arrumar...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...