CONVERSAO VB6 PARA VS 2008
Na plataforma .Net, o componente PictureBox não oferece os mesmos métodos e propriedades que o equivalente do VB6. No VB6, o PictureBox é um dispositivo OLE, onde é possivel desenhar/imprimir. E no VS2008, qual componente .Net se equivale / permite as mesmas operações?
Obrigado!
Obrigado!
O seu caso é meio [Ô]triste[Ô], desculpe a minha opinião, mas até onde eu entendi, você está convertendo aplicativos que usam forms/pictureboxes como dispositivos de saÃda gráfica (ou de OLE, como se dizia na época em que o VB6 era utilizável).
Ainda que o que você esteja convertendo seja menos complexo do que uma aplicação gráfica, como, por exemplo, [Ô]relatórios[Ô] desenhados em picturebox, a situação é bastante similar.
Acontece que o componente Picturebox do VB.Net não é um dispositivo de contexto, como o é o do vb6, e não há na .Net componentes nativos com as mesmas caracterÃsticas que no VB6. Por componentes, neste caso, estou falando sobre os controles da ToolBox.
No VB6, o [Ô]fastfood[Ô] era criar [Ô]aplicativos orientados á formulários[Ô] (para não dizer POG, como muitos aqui já citaram), e com isso, o uso das PictureBox em módulos [Ô]gráficos[Ô] era o mais comum.
Ao importar aplicativos gráficos (ou que usam picturebox/printer para visualizar relatórios) do VB6, portanto, você terá dois problemas pela frente.
O mais visÃvel é essa incompatibilidade de métodos e propriedades, mas nem é tão importante assim, já que basta criar um BitMap de escopo público e um Graphics para poder converter (não sem um bom trabalho) os [Ô]Line[Ô], [Ô]Print[Ô] [Ô]PSet[Ô] e [Ô]Point[Ô].
O problema mais complexo é o da orientação. Na .Net, esse foco (de um formulário usar os componentes de outros e manter em si mesmos os processos que deveriam ser públicos) precisa ser alterado para um método de desenvolvimento mais disciplinado.
Mas não desanime! A .Net oferece mais e melhores métodos gráficos, e ainda permite o uso das API gráficas do Windows, de modo que nem tudo está perdido! Só que de forma (bastante) diferente...
Basicamente, no VB.Net você terá de usar os componentes da Drawing, criando manualmente a imagem e ir [Ô]desenhando[Ô] sobre essa imagem com os métodos do Graphics.
Só depois de concluÃda a operação de desenho é que você [Ô]lança[Ô] a imagem á um PictureBox, á um Panel etc., tornando-a visÃvel ao usuário.
No entanto veja, não estou dizendo que será fácil, pois dependendo do quê você esteja convertendo, pode ser uma tarefa bem demorada, maçante até.
Tudo o que se refira aos métodos de desenho da .Net deve / vai ser útil para você, e dessa forma, há farto material desde fóruns e blogs até em sites de empresas de sesenvolvimento.
Em relação á orientação á objetos, se você vêm do VB6, não se apavore também, pois mesmo sendo meio [Ô]duro de engolir[Ô] no começo, enfrente pelo menos algumas semanas, e aos poucos vai acabar percebendo que essa forma de desenvolver é até mais natural e intuitiva.
Pessoalmente, eu indicaria á você começar dando uma boa [Ô]garimpada[Ô] no próprio criador de ambas as linguagens, via MSDN, e, o seu caso em especial, neste link, e fazer uma [Ô]colinha[Ô] das [Ô]dicas[Ô] para ir consultando durante a conversão.
Valew!!
Ainda que o que você esteja convertendo seja menos complexo do que uma aplicação gráfica, como, por exemplo, [Ô]relatórios[Ô] desenhados em picturebox, a situação é bastante similar.
Acontece que o componente Picturebox do VB.Net não é um dispositivo de contexto, como o é o do vb6, e não há na .Net componentes nativos com as mesmas caracterÃsticas que no VB6. Por componentes, neste caso, estou falando sobre os controles da ToolBox.
No VB6, o [Ô]fastfood[Ô] era criar [Ô]aplicativos orientados á formulários[Ô] (para não dizer POG, como muitos aqui já citaram), e com isso, o uso das PictureBox em módulos [Ô]gráficos[Ô] era o mais comum.
Ao importar aplicativos gráficos (ou que usam picturebox/printer para visualizar relatórios) do VB6, portanto, você terá dois problemas pela frente.
O mais visÃvel é essa incompatibilidade de métodos e propriedades, mas nem é tão importante assim, já que basta criar um BitMap de escopo público e um Graphics para poder converter (não sem um bom trabalho) os [Ô]Line[Ô], [Ô]Print[Ô] [Ô]PSet[Ô] e [Ô]Point[Ô].
O problema mais complexo é o da orientação. Na .Net, esse foco (de um formulário usar os componentes de outros e manter em si mesmos os processos que deveriam ser públicos) precisa ser alterado para um método de desenvolvimento mais disciplinado.
Mas não desanime! A .Net oferece mais e melhores métodos gráficos, e ainda permite o uso das API gráficas do Windows, de modo que nem tudo está perdido! Só que de forma (bastante) diferente...
Basicamente, no VB.Net você terá de usar os componentes da Drawing, criando manualmente a imagem e ir [Ô]desenhando[Ô] sobre essa imagem com os métodos do Graphics.
Só depois de concluÃda a operação de desenho é que você [Ô]lança[Ô] a imagem á um PictureBox, á um Panel etc., tornando-a visÃvel ao usuário.
No entanto veja, não estou dizendo que será fácil, pois dependendo do quê você esteja convertendo, pode ser uma tarefa bem demorada, maçante até.
Tudo o que se refira aos métodos de desenho da .Net deve / vai ser útil para você, e dessa forma, há farto material desde fóruns e blogs até em sites de empresas de sesenvolvimento.
Em relação á orientação á objetos, se você vêm do VB6, não se apavore também, pois mesmo sendo meio [Ô]duro de engolir[Ô] no começo, enfrente pelo menos algumas semanas, e aos poucos vai acabar percebendo que essa forma de desenvolver é até mais natural e intuitiva.
Pessoalmente, eu indicaria á você começar dando uma boa [Ô]garimpada[Ô] no próprio criador de ambas as linguagens, via MSDN, e, o seu caso em especial, neste link, e fazer uma [Ô]colinha[Ô] das [Ô]dicas[Ô] para ir consultando durante a conversão.
Valew!!
Olá Professor, desde já agradeço pela sua postagem e já de cara percebi que tenho um grande desafio pela frente. Bom... no começo da migração, imaginei que não seria algo tão complexo assim, mas no desenrolar do meu trabalho, comecei a perceber que não é algo tão simples assim e também percebi que não são muitos os programadores que estão passando ou que já passaram por este tipo de situação.
Obrigado!
Obrigado!
Saudades em Professor, me ajudou muito em 2004, me nick era [Ô]NIL[Ô]. Abraço
ANDREY78,
Eu na verdade só utilizei o vb2008 para converter algumas projetos apenas para verificar algumas variaveis como seriam
substituidas, porque migrar mesmo, não rola.
Inicio do zero mesmo.
ANDREY78,
Eu na verdade só utilizei o vb2008 para converter algumas projetos apenas para verificar algumas variaveis como seriam
substituidas, porque migrar mesmo, não rola.
Inicio do zero mesmo.
Tópico encerrado , respostas não são mais permitidas