erro ao receber string
Estou com um problema curioso:
Tenho um form onde tenho um componente memo. Quando executo uma função que está em outra unit acontece um erro muito estranho. Dentro da função desta unit num determinado instante eu jogo uma string para dentro do memo do form principal, só que me retorna um erro. Toda string que eu tento jogar para qualquer componente memo ou edit acaba retornando erro em tempo de execução. Qual o segredo para que eu possa jogar strings em um form mesmo eu não estando visualizando ele?
Tenho um form onde tenho um componente memo. Quando executo uma função que está em outra unit acontece um erro muito estranho. Dentro da função desta unit num determinado instante eu jogo uma string para dentro do memo do form principal, só que me retorna um erro. Toda string que eu tento jogar para qualquer componente memo ou edit acaba retornando erro em tempo de execução. Qual o segredo para que eu possa jogar strings em um form mesmo eu não estando visualizando ele?
Roberto Rossi
Curtidas 0
Respostas
Rodc
23/04/2008
Qual é o erro especificamente? O Memo foi criado dinamicamente ou ele já estava no formulário?
GOSTEI 0
Roberto Rossi
23/04/2008
o erro é de violação de acesso. O memo já esta criado no form principal. Explicando melhor o problema:
Estou no form principal, clico em um botão que chama uma função que está em uma outra unit. Nesta função há um comando que passa uma mensagem(string) para o memo do form principal. Aí dá o erro. O memo não consegue pegar a string gerada na outra unit. Nesta unit uso o seguinte comando para fazer o memo pegar a string:
mainform.memoLog.Lines.Add(msg);
Estou no form principal, clico em um botão que chama uma função que está em uma outra unit. Nesta função há um comando que passa uma mensagem(string) para o memo do form principal. Aí dá o erro. O memo não consegue pegar a string gerada na outra unit. Nesta unit uso o seguinte comando para fazer o memo pegar a string:
mainform.memoLog.Lines.Add(msg);
GOSTEI 0
Rodc
23/04/2008
Access Violation é quando você tenta acessar uma parte da memória que não existe ou que não lhe pertence. Como por exemplo um objeto que não está na memória.
Coloque um BreakPoint na linha que você comentou e verifique se MainForm e MemoLog existem.
Caso existam, tente fazer assim para ver se funciona:
Coloque um BreakPoint na linha que você comentou e verifique se MainForm e MemoLog existem.
Caso existam, tente fazer assim para ver se funciona:
mainform.memoLog.Text := msg; // ou mainform.memoLog.Lines.Text := msg;
GOSTEI 0