Ir para conteúdo
Sistema de Servidores de Jogos ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Posts Recomendados

EwqCfjN.png

 

Olá, estou montando um projeto em que o programa por si só faz uma cópia compactada de um ou mais arquivos escolhidos pelo usuário, nesse projeto a função Backup pega 2 funções que localiza o arquivo de origem e e de destino más o WorkerBackground me dá o seguinte erro:

 

"O thread atual deve ser definido no modo STA (single thread apartment) antes que chamadas OLE possam ser feitas. Verifique se a função Main tem STAThreadAttribute marcado. A exceção somente será gerada se um depurador estiver anexado ao processo."

 

Procurei na internet más não encontrei alo que possa fazer para ativar o STA.

 

Quem puder me ajudar agradeço.

Link para o comentário
https://www.webcheats.com.br/topic/2195870-problemas-com-thread-vb/
Compartilhar em outros sites

Dim trd As New Thread

 

 

trd = New Thread(AddressOf ThreadTask)

trd.IsBackground = True

trd.Start()

 

Você que chamar uma rotina é isso?

Link para o comentário
https://www.webcheats.com.br/topic/2195870-problemas-com-thread-vb/#findComment-8728161
Compartilhar em outros sites

Você que chamar uma rotina é isso?

 

Sim só que a função que eu chamo pede 2 Variáveis Origem e Saída e em cima dessa 2 variáveis botei 2 funções que retorna o openfiledialog. É nessa parte aonde o vb chama e exerção STA.

 

Mais detalhes:

 

 

No Form1 ao clicar no botão 1:

É necessário se cadastrar para acessar o conteúdo.

 

Chama a sub do modulo:

É necessário se cadastrar para acessar o conteúdo.

 

As duas funções "Compactar_..." chamam as seguintes funções da class Auto_BackUp para carregar suas variáveis:

 

Esse para abrir o openfiledialog

 

É necessário se cadastrar para acessar o conteúdo.

 

Esse para abrir o FolderBrowserDialog

 

É necessário se cadastrar para acessar o conteúdo.

 

É nessas 2 funções que ocorre o erro "STA" do Thread e eu queria saber como habilitar o mesmo.

 

Link para o comentário
https://www.webcheats.com.br/topic/2195870-problemas-com-thread-vb/#findComment-8728367
Compartilhar em outros sites

Double post

 

Sim só que a função que eu chamo pede 2 Variáveis Origem e Saída e em cima dessa 2 variáveis botei 2 funções que retorna o openfiledialog. É nessa parte aonde o vb chama e exerção STA.

 

Mais detalhes:

 

 

No Form1 ao clicar no botão 1:

É necessário se cadastrar para acessar o conteúdo.

 

Chama a sub do modulo:

É necessário se cadastrar para acessar o conteúdo.

 

As duas funções "Compactar_..." chamam as seguintes funções da class Auto_BackUp para carregar suas variáveis:

 

Esse para abrir o openfiledialog

 

É necessário se cadastrar para acessar o conteúdo.

 

Esse para abrir o FolderBrowserDialog

 

É necessário se cadastrar para acessar o conteúdo.

 

É nessas 2 funções que ocorre o erro "STA" do Thread e eu queria saber como habilitar o mesmo.

 

Um Dialog não pode ser chamado no background, então tenta assim:

TH1.SetApartmentState(ApartmentState.STA)

TH1 é o nome da minha Thread

 

Tava casando essa linha, tive um problema parecido e isso resolveu, coloca isso no load do form:

CheckForIllegalCrossThreadCalls = false

5rBdmmr.png

Link para o comentário
https://www.webcheats.com.br/topic/2195870-problemas-com-thread-vb/#findComment-8728370
Compartilhar em outros sites

Vlw o Código abaixo funcionou perfeitamente cara:

É necessário se cadastrar para acessar o conteúdo.

Já o nesse codigo, percebi que ele ignora as chamadas dos forms.

É necessário se cadastrar para acessar o conteúdo.

 

1 LIKE e Resolvido.

Link para o comentário
https://www.webcheats.com.br/topic/2195870-problemas-com-thread-vb/#findComment-8728380
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.