Executar um método de uma classe com hb_threadStart
Moderador: Moderadores
Executar um método de uma classe com hb_threadStart
Pessoal,
Tenho uma classe que tem um método de impressão
O método é imprimeraw
oGuiProc:ClGui():New()
oGuiProc:Imprimeraw(cDocumento)
Como eu faço pra ser executado com hb_threadStart ?
Tenho uma classe que tem um método de impressão
O método é imprimeraw
oGuiProc:ClGui():New()
oGuiProc:Imprimeraw(cDocumento)
Como eu faço pra ser executado com hb_threadStart ?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Executar um método de uma classe com hb_threadStart
Assim:
Ou algo parecido.
https://pctoledo.org/forum/viewto ... 43&t=16827
Código: Selecionar todos
oImprime := ImprimeClass():New()
oImprime:Doc := "imprime.doc"
hb_ThreadStart( { || oImprime:Imprime() } )
https://pctoledo.org/forum/viewto ... 43&t=16827
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Executar um método de uma classe com hb_threadStart
Ok.
E isso pode:
hb_ThreadStart( { || oImprime:Imprime(""imprime.doc") } )
E isso pode:
hb_ThreadStart( { || oImprime:Imprime(""imprime.doc") } )
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Executar um método de uma classe com hb_threadStart
Vai porque o nome não é variável. (Só corrigir as aspas a mais... rs)
Mas será que precisa multithread? Acho que isso vai pro spooler do Windows.
Mas será que precisa multithread? Acho que isso vai pro spooler do Windows.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Executar um método de uma classe com hb_threadStart
To com esse erro:
oImprime:=ClGui():New()
hb_threadStart({||oImprime:ImprimeRaw(cDocumento)})
oImprime:=ClGui():New()
hb_threadStart({||oImprime:ImprimeRaw(cDocumento)})
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Executar um método de uma classe com hb_threadStart
Quintas,
Tinha uma aspas a mais, mas o erro está no post anterior.
O método Imprimeraw tem parâmetro que é o arquivo a ser impresso
Tinha uma aspas a mais, mas o erro está no post anterior.
O método Imprimeraw tem parâmetro que é o arquivo a ser impresso
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Executar um método de uma classe com hb_threadStart
Se não usar a thread funciona
oImprime:=ClGui():New()
oImprime:ImprimeRaw(cDocumento)
oImprime:=ClGui():New()
oImprime:ImprimeRaw(cDocumento)
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Executar um método de uma classe com hb_threadStart
Acho que não é isso, é outra coisa.
Ao encerrar o módulo, a variável se destrói, e tchau variável da multithread.... rs
Ao encerrar o módulo, a variável se destrói, e tchau variável da multithread.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Executar um método de uma classe com hb_threadStart
Vamos lá,
A variável oImprime é iniciado antes da chamada da função threadStart, como que ela é destruída, se no método não faz referência a oImprime????
oImprime:=ClGui():New()
oImprime:ImprimeRaw(cDocumento) // assim funciona
hb_threadStart({||oImprime:ImprimeRaw(cDocumento)}) //assim dá erro
A variável oImprime é iniciado antes da chamada da função threadStart, como que ela é destruída, se no método não faz referência a oImprime????
oImprime:=ClGui():New()
oImprime:ImprimeRaw(cDocumento) // assim funciona
hb_threadStart({||oImprime:ImprimeRaw(cDocumento)}) //assim dá erro
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Executar um método de uma classe com hb_threadStart
Teste assim, só como teste:
Código: Selecionar todos
oImprime:=ClGui():New()
oImprime:ImprimeRaw(cDocumento) // assim funciona
hb_threadStart({||oImprime:ImprimeRaw(cDocumento)}) //assim dá erro
Inkey(0)
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Executar um método de uma classe com hb_threadStart
Quintas,
Você repetiu o que eu postei, rs,
Eu já vi que com thread não funfa, deixa pra lá.
Você repetiu o que eu postei, rs,
Eu já vi que com thread não funfa, deixa pra lá.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Executar um método de uma classe com hb_threadStart
Não olhou direito.
Tem um Inkey(0) no final, por isso comentei de ser só pra teste.
Tem um Inkey(0) no final, por isso comentei de ser só pra teste.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Executar um método de uma classe com hb_threadStart
Quintas,
Não funcionou, o mesmo erro, diz que variável não existe.
Não funcionou, o mesmo erro, diz que variável não existe.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Executar um método de uma classe com hb_threadStart
Quintas,
Tentei isso.
nThread:=hb_ThreadStart( { |oGuiProc|oGuiProc:=ClGui():New(), oGuiProc:ImprimeRaw(cDocumento) } )
Mas diz que variável cDocumento não existe
Tentei isso.
nThread:=hb_ThreadStart( { |oGuiProc|oGuiProc:=ClGui():New(), oGuiProc:ImprimeRaw(cDocumento) } )
Mas diz que variável cDocumento não existe
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Executar um método de uma classe com hb_threadStart
Fiz este teste aqui, ok.
Código: Selecionar todos
#include "hbclass.ch"
PROCEDURE Main
LOCAL oImprime, cDocumento := "teste.txt"
CLS
oImprime := ClGui():New()
oImprime:cDocumento := cDocumento
hb_ThreadStart( { || oImprime:ImprimeRaw() } )
Inkey(0)
RETURN
CREATE CLASS ClGui
VAR cDocumento
METHOD ImprimeRaw()
END CLASS
METHOD ImprimeRaw()
? ::cDocumento
RETURN NIL
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
