SharpDevelop e a .NET Compact Framework

Há algum tempo atrás, publiquei no PocketPT.net um artigo sobre a utilização do excelente IDE para .NET, SharpDevelop, com a .NET Compact Framework!

Resolvi agora recuperar esse artigo e o recolocar aqui no blog para todos!

SharpDevelop

SharpDevelop - Splash Screen

Este pequeno texto tem por intenção apresentar o SharpDevelop, um IDE de .NET de código aberto sob licença GPL.

De notar que para além do SharpDevelop, para criarem programas para a .NET Compact Framework vão ainda precisar dos seguintes SDK’s:

Instalação

A instalação é relativamente linear, sem grandes opções, apenas chamo a atenção para a segunda parte, onde fala das associações de ficheiros (convém ter isto em atenção para o caso de já termos estes tipos de ficheiros associados a outro tipo de programa!)
SharpDevelop - Install

O IDE

Feita a instalação, entramos no programa e deparamos-nos com o seguinte ecrã:
SharpDevelop - IDE

Como podemos ver, temos os menus normalmente esperados num ambiente de desenvolvimento tradicional (File, Edit, View, Build, Debug, Tools, Window, Help)!
Do lado esquerdo encontramos a Barra de Explorador de Projecto (Projects) e a Barra de Ferramentas e Controlos (Tools); do lado direito a Barra do Explorador de Classes (Classes) e a Barra de Propriedades (Properties). Ao centro ficam as restantes janelas do editor, como o Explorador de Internet Interno, e os Editores de Código e Formulários.
Na base da janela encontram-se recolhidas as Janelas de Erros (Errors), Saída (Output), Lista de Tarefas (Task List) e Vista de Definições (Definitions View)

Projecto de Teste

Este projecto de teste reflecte o clássico modelo “Hello World” da programação, adaptado para o .NET Compact Framework!

A primeira coisa a fazer é criar um novo projecto, fazendo File -> New -> Solution; no nosso exemplo vamos criar uma solução em VB.NET chamada “teste”, com base no .NET Compact Framework:
SharpDevelop - New Project

Podemos ver que o IDE automaticamente criou um formulário vazio chamado “MainForm”, constituido pelos ficheiros “MainForm.vb” e “MainForm.Design.vb” e o ficheiro “AssemblyInfo.vb” com algumas definições de compilação.
SharpDevelop - Code Editor

Ao formulário vamos juntar um Label chamado “lblRequestname”, uma TextBox chamada “txtName”, e um Button chamado “btOk”.
SharpDevelop - Form Editor

No código do formulário criamos o evento Click do nosso botão e colocamos código para apresentar uma mensagem de saudação:
SharpDevelop - Button Code

A compilação directa do projecto, fazendo Build -> Build Solution vai dar alguns erros, que poderão ser semelhantes a esta imagem:
SharpDevelop - Errors

Nesta janela vemos que existem dois erros, ambos tem a ver com o facto de no código o SharpDevelop ter colocado código para o .NET Framework que não é compatível com a sua irmã mais pequena. Para os corrigir, deve-se editar o ficheiro “.Designer.vb” de cada um dos formulários e alterar alguns blocos de código.

O primeiro tem a ver com o facto de no botão ter aparecido este código:
SharpDevelop - Code Before

Esta linha e todas as que referirem a propriedade “UseVisualStyleBackColor” devem ser simplesmente apagadas, pois não tem qualquer utilidade no .NET Compact Framework.

No segundo erro o problema também tem a ver com as diferenças entre as duas frameworks. Para resolver este caso, temos de editar o ficheiro “FormMain.Designer.vb” e alterar o bloco seguinte de
SharpDevelop - Code Before
para
SharpDevelop - Code After

Para além destes dois erros deparei-me também com o facto de os controlos do tipo Label não terem propriedade TabIndex no Compact Framework, pelo que poderá ainda ser necessária a remoção manual de todos os TabIndex dos Label nos ficheiros “.Designer.vb“.

E está o nosso programa pronto a compilar!!! :D

Por fim é só pegar no ficheiro executável criado (no nosso exemplo, “teste.exe”), copiar para o PDA, executar e apreciar o resultado! :)
SharpDevelop - Test

Há que ter em conta que outros problemas poderão surgir com mais controlos, pois o próprio SharpDevelop está preparado para criar código para o .NET Framework, pelo que a alteração manual do código gerado será sempre necessário! Esperemos que numa próxima versão ele já gere correctamente para o .NET Compact Framework!

Bons programas! ;)

Posts Relacionados:

  1. Disponibilizado Código-Fonte da .NET Framework

2 pensamentos em “SharpDevelop e a .NET Compact Framework

  1. O Sharp Develop se mostrou estável para desenvolvimento de aplicações C# em geral, mas quando o assunto é desenvolvimento para devices deixa muito a desejar. O Hello World é simples de fazer. Me cadastrei na “SD Comunity” mas estou esperando o e-mail de ativação até hoje. Existe pouco material sobre a ferramenta neste assunto. Optei por comprar o VS 2008 Pro para esse tipo de desenvolvimento.

    • Até aí estamos de acordo, não há mesmo como o negar: não há dúvida que neste momento, o Visual Studio 2008 é mesmo a melhor ferramenta para o desenvolvimento de aplicações com o .NET Compact Framework…

Deixar uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

*

Pode usar estas etiquetas HTML e atributos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>