programar em C#

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

programar em C#

Mensagempor major_jb » Quinta Dez 27, 2007 14:58

Olá a todos!!!

Alguém aqui percebe de c#?

Estou com um pequeno problema que é o seguinte:

Uma aplicação gráfica que contém 2 classes (1 gráfica e outra não) e em que cada classe há uma thread. Quero comunicar com a parte gráfica a partir da parte não gráfica através das threads.
Já li muita documentação e já pesquisei no google mas não consigo resultados.
Já utilizei "Delegates","BeginInvoke" e afins...
Os exemplos que me aparecem ou estão todos dentro da mesma classe (o que claramente não me interessa) ou não fazem a comunicação através de threads...

Se alguém me puder ajudar agradecia imenso...
É que isto parece-me uma coisa relativamente simples e apesar de tanta pesquisa ainda não consegui resultados...


Desde já obrigado pelas vossas respostas :)
major_jb
Membro de Prata
Membro de Prata
 
Mensagens: 221
Registado: Domingo Jul 31, 2005 14:07

Mensagempor major_jb » Sexta Dez 28, 2007 16:51

Ninguém aqui programa em c#?? :(
major_jb
Membro de Prata
Membro de Prata
 
Mensagens: 221
Registado: Domingo Jul 31, 2005 14:07

Mensagempor Asgorath » Sexta Dez 28, 2007 17:14

Faz download do 101 sample projects for c# 2005 do site da ms
Intel Core 2 Quad Q9450 - Cache 12MB - 4x2,66GHz - FSB 1333MHz || abit IP35P ||
4G Kingston 800 Mhz || XFX GeForce 9800 GX2 1G ddr3 || WD5000AAJS 500Gb Sata 2 Raid 0 ||
Samsung SyncMaster 940nw || |
|| Caixa A+El-Diablo || Creative XMod
Asgorath
Membro de Ouro
Membro de Ouro
 
Mensagens: 645
Registado: Segunda Out 31, 2005 10:45
Localização: C:\Portugal\Castelo Branco

Mensagempor Asgorath » Sexta Dez 28, 2007 17:15

Faz download do 101 sample projects for c# 2005 do site da ms
Intel Core 2 Quad Q9450 - Cache 12MB - 4x2,66GHz - FSB 1333MHz || abit IP35P ||
4G Kingston 800 Mhz || XFX GeForce 9800 GX2 1G ddr3 || WD5000AAJS 500Gb Sata 2 Raid 0 ||
Samsung SyncMaster 940nw || |
|| Caixa A+El-Diablo || Creative XMod
Asgorath
Membro de Ouro
Membro de Ouro
 
Mensagens: 645
Registado: Segunda Out 31, 2005 10:45
Localização: C:\Portugal\Castelo Branco

Re: programar em C#

Mensagempor xirix » Sexta Dez 28, 2007 17:22

major_jb Escreveu:Olá a todos!!!

Alguém aqui percebe de c#?

Estou com um pequeno problema que é o seguinte:

Uma aplicação gráfica que contém 2 classes (1 gráfica e outra não) e em que cada classe há uma thread. Quero comunicar com a parte gráfica a partir da parte não gráfica através das threads.
Já li muita documentação e já pesquisei no google mas não consigo resultados.
Já utilizei "Delegates","BeginInvoke" e afins...
Os exemplos que me aparecem ou estão todos dentro da mesma classe (o que claramente não me interessa) ou não fazem a comunicação através de threads...

Se alguém me puder ajudar agradecia imenso...
É que isto parece-me uma coisa relativamente simples e apesar de tanta pesquisa ainda não consegui resultados...


Desde já obrigado pelas vossas respostas :)


Com os deletages não conseguiste???

Estás a fazer como???

Se fores mais preciso....

Abs
X|r|X
=================
Não subscrevam a VIANETWORKS, TVTel ADSL, ASDL.XL, CyclopNet. A VIA aldraba todos os seus clientes iludindo-os c/ velocidades q nunca tem na realidade. Uma ligação 1024/256 (128kB/32kB) na prática é de 6kB/4kB c/ o emule.
xirix
Membro de Ouro
Membro de Ouro
 
Mensagens: 673
Registado: Terça Out 05, 2004 21:07

Re: programar em C#

Mensagempor major_jb » Sexta Dez 28, 2007 22:16

xirix Escreveu:
major_jb Escreveu:Olá a todos!!!

Alguém aqui percebe de c#?

Estou com um pequeno problema que é o seguinte:

Uma aplicação gráfica que contém 2 classes (1 gráfica e outra não) e em que cada classe há uma thread. Quero comunicar com a parte gráfica a partir da parte não gráfica através das threads.
Já li muita documentação e já pesquisei no google mas não consigo resultados.
Já utilizei "Delegates","BeginInvoke" e afins...
Os exemplos que me aparecem ou estão todos dentro da mesma classe (o que claramente não me interessa) ou não fazem a comunicação através de threads...

Se alguém me puder ajudar agradecia imenso...
É que isto parece-me uma coisa relativamente simples e apesar de tanta pesquisa ainda não consegui resultados...


Desde já obrigado pelas vossas respostas :)


Com os deletages não conseguiste???

Estás a fazer como???

Se fores mais preciso....

Abs



Imagina um programa em 2 ficheiros diferentes em que cada ficheiro é uma class (Class A & Class B).
A Class A é a que contém o interface gráfico e a que arranca com o programa. A Class B (parte não gráfica) apenas serve para processar dados a fornecer posteriormente à Class A.
Cada Class é uma thread... o que eu pretendo é que a Class B processe dados mas que isso não interfira com a Class A. Ou seja, actualmente se a minha Class B estiver a processar dados o utilizador não consegue mexer normalmente na parte gráfica (por exemplo, abrir uma combobox).

Não sei se fui explicito... o que eu pretendia era ver um exemplo simples para depois poder aplicar na minha aplicação.

Se precisares de mais dados é só dizeres.... muito obrigado pela ajuda :wink:
major_jb
Membro de Prata
Membro de Prata
 
Mensagens: 221
Registado: Domingo Jul 31, 2005 14:07

Mensagempor major_jb » Sexta Dez 28, 2007 22:21

Asgorath Escreveu:Faz download do 101 sample projects for c# 2005 do site da ms


Já vi esses exemplos mas são demasiado básicos... a maior parte desses exemplos são projectos que estão num só ficheiro e numa só class.
Isso não me interessa minimamente porque é má programação (apesar de facilitar a comunicação entre métodos).

De qualquer forma obrigado pela tua resposta.
major_jb
Membro de Prata
Membro de Prata
 
Mensagens: 221
Registado: Domingo Jul 31, 2005 14:07

Mensagempor EspiritoLampiao » Quarta Mar 26, 2008 15:30

EspiritoLampiao
Aprendiz
Aprendiz
 
Mensagens: 23
Registado: Terça Nov 08, 2005 20:08

Mensagempor Fenrir » Quarta Mar 26, 2008 17:18

então se quando a parte não grafica está a processar a grafica congela, é porque as thread não estão implementadas.

Não sei de cór, mas os delegates devem funcionar perfeitamente para comunicação entre thread.

Mas se só vais ter sempre dois tipos de processamente, grafico e nao grafico, nao precisas de implementar duas thread, mas apenas uma.

A grafica e a não grafica que corre à parte numa outra thread.

Não te falta é exemplos desde o simples para o complexo na internet.
Avatar do Utilizador
Fenrir
Membro de Prata
Membro de Prata
 
Mensagens: 354
Registado: Segunda Set 20, 2004 22:33
Localização: Porto

Mensagempor major_jb » Sexta Mar 28, 2008 15:47

Obrigado pelas respostas mas agora já é demasiado tarde...
No entanto obrigado pelo link e pelas opiniões porque podem fazer falta a outro utilizador...


Fiquem bem!!!
major_jb
Membro de Prata
Membro de Prata
 
Mensagens: 221
Registado: Domingo Jul 31, 2005 14:07

Mensagempor Fenrir » Sexta Mar 28, 2008 15:59

Boas.

Mas ao menos diz como fizeste de uma forma genérica.

Estava correcto no que eu disse?

[[]]
Avatar do Utilizador
Fenrir
Membro de Prata
Membro de Prata
 
Mensagens: 354
Registado: Segunda Set 20, 2004 22:33
Localização: Porto

Mensagempor major_jb » Sábado Mar 29, 2008 15:13

Tive a hipótese de alterar a linguagem com que estava a programar e acabei por fazer o projecto em java. Era uma aplicação "servidor" que deveria manter ligação com várias aplicações "cliente" e havia necessidade de trabalhar com diversas threads ...

Como envolvia muitas threads nunca cheguei a conseguir pôr isso a funcionar em c# :(


Cumps
major_jb
Membro de Prata
Membro de Prata
 
Mensagens: 221
Registado: Domingo Jul 31, 2005 14:07


Voltar para Programação

Quem está ligado:

Utilizador a ver este Fórum: Nenhum utilizador registado e 1 visitante

cron