THREADS NO VB6???
Pessoal, boa tarde!
Seguinte, tenho um sistema de marcação de ponto digital, onde trabalho com um leitor, bom, o pessoal de onde o cliente comprou o leitor, falaram que, tem como colocar dois leitores em um unico computador utilizando Threads no VB 6.0???, eu ainda não sei como fazer isso, pois, tem que ficar as duas telas de batida de ponto da tela???.
Falows
Joerbeth
Seguinte, tenho um sistema de marcação de ponto digital, onde trabalho com um leitor, bom, o pessoal de onde o cliente comprou o leitor, falaram que, tem como colocar dois leitores em um unico computador utilizando Threads no VB 6.0???, eu ainda não sei como fazer isso, pois, tem que ficar as duas telas de batida de ponto da tela???.
Falows
Joerbeth
Sim 2 instancias da mesma DLL ou executável pois o VB6 não é multi thread.
é também por isto que vc precisa abrir 1 IDE para cada componente COM que pretenda depurar.
E para finalizar, é por causa da confusão de fazer isto que surgiu o dotnet.
Faça em dotnet, a tecnologia COM tem seus dias COMtados .... ficou legal não ?
Abaixo link mto antigo em que falo um pouco mais desta tecnologia ...
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=Abrir&varID=186650&varWorld=
é também por isto que vc precisa abrir 1 IDE para cada componente COM que pretenda depurar.
E para finalizar, é por causa da confusão de fazer isto que surgiu o dotnet.
Faça em dotnet, a tecnologia COM tem seus dias COMtados .... ficou legal não ?
Abaixo link mto antigo em que falo um pouco mais desta tecnologia ...
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=Abrir&varID=186650&varWorld=
Sugiro fortemente que utilize o dotnet para este tipo de tarefa pois não se sabe o que futuros sistemas operacionais ou sp[ô]s irão complicar nossa vida.
Abaixo exemplo da coleção da própria MS (101VBSamples) que mostra exclusivamente multi-operações gerenciadas pelo VBnet.
Sim, é código pronto de presente pro C.
Abaixo exemplo da coleção da própria MS (101VBSamples) que mostra exclusivamente multi-operações gerenciadas pelo VBnet.
Sim, é código pronto de presente pro C.
é possÃvel fazer Thread? é.
Porém, baseia-se em gambiarra....
Acho que esse site pode lhe ajudar:
Porém, baseia-se em gambiarra....
Acho que esse site pode lhe ajudar:
http://imasters.uol.com.br/artigo/6275/visual_basic/threads_em_vb6/
LOUCO NUMERO 1 = EMERSONTADEU:
Sim 2 instancias da mesma DLL ou executável pois o VB6 não é multi thread.
LOUCO NUMERO 2 = ASHKATCHUP:
é possÃvel fazer Thread? é.
Porém, baseia-se em gambiarra....
Acho que esse site pode lhe ajudar:
Desculpe informar aos senhores mas para a tristeza daqueles que subestiam o Visual Basic 6, ele é simplesmente uma linguagem Multhreading e é rapido tanto quanto a linguagem C++. Parece piada ne? kkkkk
Observem em Project -> Properties, lá vai ter as opções Thread per Object e Thread Poll na seção Threading Model.
Isso é o suficiente? agora se viram e vá pesquisar, dei a faca agora só falta o queijo kkkkkkkkkkkk
tipo agora botei pra crer que os brasileiros são fracos em programação, apesar que sou brasileiro kkkkkkkk
Sim 2 instancias da mesma DLL ou executável pois o VB6 não é multi thread.
LOUCO NUMERO 2 = ASHKATCHUP:
é possÃvel fazer Thread? é.
Porém, baseia-se em gambiarra....
Acho que esse site pode lhe ajudar:
Desculpe informar aos senhores mas para a tristeza daqueles que subestiam o Visual Basic 6, ele é simplesmente uma linguagem Multhreading e é rapido tanto quanto a linguagem C++. Parece piada ne? kkkkk
Observem em Project -> Properties, lá vai ter as opções Thread per Object e Thread Poll na seção Threading Model.
Isso é o suficiente? agora se viram e vá pesquisar, dei a faca agora só falta o queijo kkkkkkkkkkkk
tipo agora botei pra crer que os brasileiros são fracos em programação, apesar que sou brasileiro kkkkkkkk
Ah muleke bom!!
Nem tentei pois estou sem VB6 em casa :P, mas vou tentardepois. :)
Nem tentei pois estou sem VB6 em casa :P, mas vou tentardepois. :)
então LLAIA, pra usar Threads no VB6 vc tem que abrir um projeto ActiveX EXE, ou alterar seu atual projeto para Activex EXE. O Standard EXE é só pra brincar de programação.
aà vc deverá obrigatoriamente ter no mÃnimo 1 classe Multiuse em seu projeto e um módulo com Sub Main chamando seu Form principal.
depois lá em Project Properties vc escolhe a opção Thread per Object, isto fará com que o VB crie uma thread pra cada Classe que vc invocar com o comando Createobject
por exemplo:
Dim cThread as clsClasse
Set cThread = Createobject([Ô]Project1.clsClasse[Ô])
cThread.EnviarComando([Ô]Olá[Ô])
do
if cThread.Estado = [Ô]Comando recebido[Ô] then msgbox [Ô]OK[Ô]: exit do
loop
ele irá carregar a sua classe numa Thread separada mas a nova thread automaticamente irá executar a sub main novamente abrindo outro Form principal
vc deverá checar na sub main se a janela já está aberta ou não, se tiver então não Carregue o form principal. O ActiveX no VB por padrão executa a Sub Main quando a Thread é criada na memória.
Mas lembre-se que a sub main da thread carregada não é a mesma da Thread do seu EXE em execução pq a Thread é uma cópia do seu EXE na memória e ela terá comportamentos distintos e tais comportamentos serão manipuladas pela classe entre seu EXE e a thread como no exemplo acima.
Tenho toda a solução de threads em VB6, caso queria entender melhor como usá-la.
abraços!
aà vc deverá obrigatoriamente ter no mÃnimo 1 classe Multiuse em seu projeto e um módulo com Sub Main chamando seu Form principal.
depois lá em Project Properties vc escolhe a opção Thread per Object, isto fará com que o VB crie uma thread pra cada Classe que vc invocar com o comando Createobject
por exemplo:
Dim cThread as clsClasse
Set cThread = Createobject([Ô]Project1.clsClasse[Ô])
cThread.EnviarComando([Ô]Olá[Ô])
do
if cThread.Estado = [Ô]Comando recebido[Ô] then msgbox [Ô]OK[Ô]: exit do
loop
ele irá carregar a sua classe numa Thread separada mas a nova thread automaticamente irá executar a sub main novamente abrindo outro Form principal
vc deverá checar na sub main se a janela já está aberta ou não, se tiver então não Carregue o form principal. O ActiveX no VB por padrão executa a Sub Main quando a Thread é criada na memória.
Mas lembre-se que a sub main da thread carregada não é a mesma da Thread do seu EXE em execução pq a Thread é uma cópia do seu EXE na memória e ela terá comportamentos distintos e tais comportamentos serão manipuladas pela classe entre seu EXE e a thread como no exemplo acima.
Tenho toda a solução de threads em VB6, caso queria entender melhor como usá-la.
abraços!
Tópico encerrado , respostas não são mais permitidas