IMPOSSIVEL MUDAR VALOR DE TEXTBOX!
Pessoal, estou tentando ler as linhas de um arquivo e colocar em um textbox. O que era pra ser muito simples não funciona:
O erro acontece quando tento concatenar o texto no textBox. A mensagem é:{Text = Cannot evaluate expression because a native frame is on top of the call stack.}
Parece que o problema está relacionado com threads (Segundo minha busca no google) mas não sei o que fazer.
Atenciosamente,
Emilio Eduardo
string[] Linhas;
Linhas = System.IO.File.ReadAllLines(Endereco);
textBox1.Text = [Ô][Ô];
for (int i = 0; i < Linhas.Length; i++)
{
textBox1.Text += [Ô]
[Ô] + Linhas[i];
}
O erro acontece quando tento concatenar o texto no textBox. A mensagem é:{Text = Cannot evaluate expression because a native frame is on top of the call stack.}
Parece que o problema está relacionado com threads (Segundo minha busca no google) mas não sei o que fazer.
Atenciosamente,
Emilio Eduardo
Você está rodando isso em uma Thread? Se sim pode ser esse o problema já que não se deve usar controles fora da Thread em que foram criados, se for o caso eu diria para você tentar fazer isso sem usar uma Thread para testar ver se o erro ainda ocorre.
Outra detalhe ai é que se você não for tratar as linhas individualmente, for só para exibir todo o texto você pode usar o ReadAllText no lugar do ReadAllLines, já que ele retorna uma única string.
Outra detalhe ai é que se você não for tratar as linhas individualmente, for só para exibir todo o texto você pode usar o ReadAllText no lugar do ReadAllLines, já que ele retorna uma única string.
OCELOT, muito obrigado pela ajuda,
Não, estou rodando esse código em um botão, que chama uma função onde este código está.
A função está declarada dentro da Classe do Formulário.
Vou tratar as linhas individualmente, assim fica mais fácil de processá-las.
Segue a parte que interessa do código:
Atenciosamente,
Emilio Eduardo
Não, estou rodando esse código em um botão, que chama uma função onde este código está.
A função está declarada dentro da Classe do Formulário.
Vou tratar as linhas individualmente, assim fica mais fácil de processá-las.
Segue a parte que interessa do código:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Le_Arquivo([Ô]C:/LOG00334.TXT[Ô]);
}
public void Le_Arquivo(String Endereco){
string[] Linhas;
Linhas = System.IO.File.ReadAllLines(Endereco);
textBox1.Text = [Ô][Ô];
for (int i = 0; i < Linhas.Length; i++)
{
textBox1.Text += [Ô]
[Ô] + Linhas[i];
}
}
}
Atenciosamente,
Emilio Eduardo
Posso estar completamente enganado, mas será que um toString() não resolveria?
for (int i = 0; i < Linhas.Length; i++)
{
textBox1.Text += [Ô]
[Ô] + Linhas[i].[txt-color=#0000f0]toString()[/txt-color];
}
for (int i = 0; i < Linhas.Length; i++)
{
textBox1.Text += [Ô]
[Ô] + Linhas[i].[txt-color=#0000f0]toString()[/txt-color];
}
MMMX, o toString() não funcionou.
Continua dando o mesmo erro. Tenho certeza que as linhas estão sendo carregadas no Array, pois consigo ver os valores no debug.
O mais estranho é que quando faço sem o +=, só com = funciona, mas não com o comportamento que quero (de concatenar as strings).
Não vou utilizar esses dados no textbox, queria poder usá-los para debug (Para observar as informações sendo processadas), portanto não preciso tanto do problema resolvido, mas isso está me deixando perplexo!
Atenciosamente,
Emilio Eduardo
Continua dando o mesmo erro. Tenho certeza que as linhas estão sendo carregadas no Array, pois consigo ver os valores no debug.
O mais estranho é que quando faço sem o +=, só com = funciona, mas não com o comportamento que quero (de concatenar as strings).
Não vou utilizar esses dados no textbox, queria poder usá-los para debug (Para observar as informações sendo processadas), portanto não preciso tanto do problema resolvido, mas isso está me deixando perplexo!
Atenciosamente,
Emilio Eduardo
Veja se isso resolve o seu problema:
http://thiagottss.com.br/2011/11/07/unable-to-evaluate-expression-because-the-code-is-optimized-or-a-native-frame-is-on-top-of-the-call-stack/
vlw
http://thiagottss.com.br/2011/11/07/unable-to-evaluate-expression-because-the-code-is-optimized-or-a-native-frame-is-on-top-of-the-call-stack/
vlw
se a textbox ñ estiver com a propriedade multline em true você nunca irá conseguir, vá nas propriedades e colocar multiline no true
Tópico encerrado , respostas não são mais permitidas