VB6 USANDO DLL CRIADA NO C#
                    bom dia amigos,
estou utilizando os recursos do C# através de uma DLL para implementar no VB6, o problema que me ocorre é o seguinte:
tenho um método que faz download do FTP, porém eu gostaria de que a medida que fosse fazendo o download o Vb6 recebesse o retorno desse progresso pra mim alimentar meu progressbar, no entanto a tela fica travada até que o processo termine. é possÃvel no vb6 algo do tipo multi-tarefas (threads) como poderia fazer isso ?
            estou utilizando os recursos do C# através de uma DLL para implementar no VB6, o problema que me ocorre é o seguinte:
tenho um método que faz download do FTP, porém eu gostaria de que a medida que fosse fazendo o download o Vb6 recebesse o retorno desse progresso pra mim alimentar meu progressbar, no entanto a tela fica travada até que o processo termine. é possÃvel no vb6 algo do tipo multi-tarefas (threads) como poderia fazer isso ?
                    SAMUCATNB,
Quer um exemplo de VB6 usando multithreads?
Aqui tem:
MULTITHREADING VB6
http://www.vbmania.com.br/index.php?modulo=detalhe&id=9325
Veja se te ajuda.
Mas acho melhor você tentar antes o [Ô]DoEvents[Ô].
http://support.microsoft.com/kb/118468/pt-br
[][ô]s,
Tunusat.
                
            Quer um exemplo de VB6 usando multithreads?
Aqui tem:
MULTITHREADING VB6
http://www.vbmania.com.br/index.php?modulo=detalhe&id=9325
Veja se te ajuda.
Mas acho melhor você tentar antes o [Ô]DoEvents[Ô].
http://support.microsoft.com/kb/118468/pt-br
[][ô]s,
Tunusat.
                    Olá Tunusat, acho que meu grande problema é essa integração com a dll, porque quando passa pelo comando que vai executar o que está na dll, aà ele fica travado até terminar o download, e só após ter concluido ele retorna. e na verdade eu gostaria que enquanto ele estivesse executando a tarefa na dll, de tempo em tempo a dll me retornasse  o status. 
não sei se tenho que tratar no vb6 isso, ou se tenho que tratar na minha dll feita em C#.
            não sei se tenho que tratar no vb6 isso, ou se tenho que tratar na minha dll feita em C#.
                    SAMUCATNB,
Experimente colocar uns [Ô]DoEvents[Ô] no VB6.
Experimente colocar [Ô]multithead[Ô] no VB6 para fazer vários disparos da DLL em C# trabalhando cada thread somente com pedaços do download.
[][ô]s,
Tunusat.
            Experimente colocar uns [Ô]DoEvents[Ô] no VB6.
Experimente colocar [Ô]multithead[Ô] no VB6 para fazer vários disparos da DLL em C# trabalhando cada thread somente com pedaços do download.
[][ô]s,
Tunusat.
                    não entendo nada de c# mais por acaso existe função para disparar eventos??
RaiseEvent [Ô]Evento[Ô] [ô]no vb6
ai vc coloca no seu sistema qdo a dll disparar o evento ...
            RaiseEvent [Ô]Evento[Ô] [ô]no vb6
ai vc coloca no seu sistema qdo a dll disparar o evento ...
                    vou tentar quebrar em partes no C# , mas mesmo assim quando iniciar o download se ele travar dessa forma não conseguiria obter o andamento do download, nem mesmo colocar um progressbar daqueles que fica enganando o o usuario..rsrs, 
                
            
                    Você provavelmente está usando algum método no C# que faz o download de forma sÃncrona, travando assim a execução até que o download termine, você provavelmente vai ter que mudar isso para alguma forma assÃncrona para não travar.
                
            
                    muito interessante Ocelot, você tem uma ideia de como poderia fazer isso ?
                
            
                    Não sem saber como você está fazendo o download.
Existem várias formas de se fazer isso em C#, muitas vezes os métodos que efetuam um processo demorado eles disponibilizam um outro método que faz a mesma coisa de forma assÃncrona, geralmente se você tem por exemplo um método GetResponse vai ter também um BeginGetResponse e EndGetResponse, sendo o primeiro usado de forma sÃncrona e os outros dois usados em conjunto para a forma assÃncrona.
            Existem várias formas de se fazer isso em C#, muitas vezes os métodos que efetuam um processo demorado eles disponibilizam um outro método que faz a mesma coisa de forma assÃncrona, geralmente se você tem por exemplo um método GetResponse vai ter também um BeginGetResponse e EndGetResponse, sendo o primeiro usado de forma sÃncrona e os outros dois usados em conjunto para a forma assÃncrona.
                        Tópico encerrado , respostas não são mais permitidas
                    
                


