introdução ao visual studio 2005.ppt - técnico lisboa · pdf filepara...

33
1

Upload: hakhuong

Post on 10-Feb-2018

224 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

1

Page 2: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Para criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐menu “New” e seleccionar a opção “Project”.

2

Page 3: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Na lista de projectos, expandir a categoria “Visual C#”, a seguir expandir a categoria “Smart Device” e por fim seleccionar a opção “Pocket PC 2003”. A opção escolhida determinará o tipo de emulador (skin, ROM set, bibliotecas disponíveis, etc.) associado por 

i ã jomissão ao projecto.

Escolher agora um dos vários modelos de projectos disponíveis. Para este exercício em concreto, escolher o modelo “Device Application”. Este modelo criará uma aplicação Windows Form para o ambiente Pocket PC, contendo um formulário genérico (uma classe derivada da classe abstracta Form) em branco e um conjunto de referências para bibliotecas adicionado por omissão. O programador poderá depois personalizar a interface do formulário e adicionar novos formulários, classes e referências para bibliotecas adicionais à aplicação. Da compilação deste projecto resultará um ficheiro executável (.exe) que será transferido e executado (deployed) no emulador durante a fase de execução e depuração do código da aplicação.

Existem outros modelo de projectos disponíveis. 

O modelo “Class Library” permite criar bibliotecas reutilizáveis de classes (.dll) que poderão ser incluídas noutros projectos. 

O modelo “Console Application” , na sua versão “Windows” (desktop), permite criar aplicações para o ambiente de linha de comando do Windows (cmd.exe). Estas aplicações caracterizam‐se pela interacção com o utilizador baseada em texto e teclado. No entanto o ambiente Pocket PC não dispõe de ambiente de linha de comando logo as aplicações deste tipo não possuem forma de interagir com o utilizador. Este modelo deve portanto ser utilizado para o desenvolvimento de aplicações que sejam executadas noplano de fundo (em background) e que não requeiram qualquer tipo de interacção com o utilizador.

O modelo “Control Library” permite ao programador desenvolver os seus próprios controlos personalizados (através da herança e/ou composição de controlos pré‐definidos ou escrevendo‐os de raíz) que serão posteriormente utilizados como elementos base da interface gráfica das aplicações.

Enquanto os modelos de projectos descritos atrás permitem criar novos projectos pré‐estruturados com um conjunto de classes, referências para bibliotecas e outras propriedades pré‐definidas incluídas por omissão, o modelo “Empty Project”  tal como o nome indica cria um projecto vazio sem nenhuma estrutura pré‐definida e sem qualquer tipo de itens incluídos à partida. Este tipo de 

é d d d h d f d d íf d dprojecto é o indicado quando nenhum dos anteriores satisfaz as necessidades específicas do programador.

As versões dos modelos atrás descritos que estão assinaladas com “(1.0)” permitem criar versões dos respectivos projectos que têm como alvo a versão 1.0 da plataforma .NET CompactFramework (por oposição à versão 2.0, que é a versão utilizada por omissão). A utilização da versão 1.0 da plataforma tem como principal desvantagem a perda das novas funcionalidades introduzidas na versão 2.0 (tipos genéricos, tipos primitivos nulos, delegates anónimos, novas bibliotecas), mas permitirá a compatibilidade das aplicações com ambientes nos quais a versão 2.0 da plataforma não é suportada (Pocket PC 2000 / 2002 e versões do Windows CE anteriores à 4.2).

3

Page 4: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Na imagem estão ilustradas as vistas da janela do editor de código e da janela do Solution Explorer dentro d Vi l St di 2005do Visual Studio 2005.

Na vista da janela do Solution Explorer estão ilustrados vários elementos organizados hierarquicamente em árvore. Na raíz da árvore encontra‐se a solução na qual o programador está neste momento a trabalhar, abaixo da qual se encontra uma lista de projectos todos ao mesmo nível na árvore (no exemplo ilustrado apenas existe um único projecto na solução). Dentro do projecto, encontram‐se ao mesmo nível o conjunto de propriedades do projecto, a lista de referências para bibliotecas utilizadas no projecto e por fim os vários ficheiros de código fonte que compõem o projecto.

Dentro da lista de propriedades destacam‐se dois elementos. O primeiro elemento, o ficheiro AssemblyInfo.cs, contém diversos atributos que definem meta‐dados sobre o projecto no seu todo, tais como o nome do produto, a versão do código, o nome do fabricante, a assinatura digital do código, etc. O segundo elemento, o ficheiro Resources.resx, contém as tabelas que definem as cadeias de caracteres (strings) (para suporte à internacionalização) e as listas de recursos (ficheiros de ícones, bitmaps, som, etc.) utilizadas no projecto.

O Solution Explorer do Visual Studio 2005 representa os ficheiros de código fonte contendo as classes que definem os formulários da interface gráfica da aplicação com um ícone diferente do ícone genérico utilizado para os restantes ficheiros de código fonte. Os ficheiros que definem os formulários da aplicação têm sempre um segundo ficheiro de código associado com o nome <nome do formulário>.Designer.cs. Este segundo ficheiro de código é criado automaticamente pelo Visual Studio 2005 quando o programador adiciona um novo formulário ao projecto da aplicação e existe exclusivamente para conter o código de inicialização da interface gráfica do formulário, que é gerado automaticamente pelo Form Designer em resposta às acções do programador durante o desenho da interface, mantendo assim uma separação entre o código gerado automaticamente pelo editor e o código da lógica da aplicação que é escrito directamente pelo programador O código gerado automaticamente é parte integrante da classeescrito directamente pelo programador. O código gerado automaticamente é parte integrante da classe formulário definida pelo programador, mas é declarado num ficheiro separado. 

Isto é possível graças à adição do suporte para classes parciais na versão 2.0 da linguagem C#, que permite separar as diferentes funcionalidades da mesma classe por vários ficheiros. Como é ilustrado na vista do editor de código, a classe Form1 deste exemplo é declarada como sendo uma classe parcial, sendo denotada com a palavra chave “partial”.

4

Page 5: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Esta imagem ilustra o conteúdo do ficheiro Form1.cs, aberto no editor de código do Visual Studio 2005. Este ficheiro de código é o ficheiro principal que define a classe Form1, sendo aquele sobre o qual o programador trabalha directamente e escreve a lógica de negócio definindo os event handlers que processam os eventos ocorridos sobre os vários elementos da interface gráfica do formulário Form1. O construtor da classe Form1 inclui uma invocação ao método InitializeComponent. Esta invocação é sempre adicionada automaticamente pelo Visual Studio 2005 quando um novo formulário é criado. O método InitializeComponent é o responsável pela inicialização da interface gráfica do formulário e é gerado automaticamente pelo Form Editor do Visual Studio 2005, estando definido no ficheiro Form1.Designer.cs.

Para adicionar um novo projecto à solução (por exemplo, uma nova biblioteca de classes ou um novo controlo), nunca se deve aceder à opção “New” do menu “File”! Esta acção resultará na criação de uma nova solução, substituindo a solução actual na vista do Solution Explorer! Em invés disso, o programador deverá abrir o menu de contexto da solução clicando com o botão direito no rato sobre o nome da solução no Solution Explorer. Depois, a partir do sub‐menu “Add” deverá seleccionar a opção “New Project”. Para adicionar o código de um projecto já existente à solução actual, ou adicionar novos itens (formulários, controlos, classes, ficheiros de texto ou XML, etc.) a um projecto da solução, deverá proceder de modo análogo.

5

Page 6: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Assumindo que no passo anterior o programador adicionou à solução uma nova bilioteca de classes (tal como indicado na vista  do Solution Explorer, ilustrada na imagem), demonstra‐se agora como adicionar uma referência para essa biblioteca à aplicação Windows definida anteriormente.

Para adicionar ao projecto uma nova referência o programador deverá abrir o menu de contexto clicando com o botão direito do rato sobre o grupo References do projecto. Duas opções serão apresentadas: “Add Reference” para adicionar referências para bibliotecas de classes e “Add Web Reference” para adicionar referências para web services e gerar automaticamente as classes proxy para os objectos remotos e o código de serialização dos objectos passados como argumentos e retornados como valores. Neste exemplo interessa ao programador apenas a primeira opção, “Add Reference”.

6

Page 7: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Ao seleccionar a opção “Add Reference” é apresentada ao programador a janela de diál tít l E t j l i j t d ddiálogo com o mesmo título. Esta janela possui um conjunto de separadores que organizam as várias bibliotecas de acordo com o seu tipo. 

O separador “.NET” apresenta uma lista de todas as bibliotecas .NET registadas na Global Assembly Cache (GAC) do ambiente de desenvolvimento. Chama‐se a atenção para as bibliotecas System.Data.SqlClient e System.Data.SqlServerCe, que figuram da lista de bibliotecas ilustrada na imagem, e cuja inclusão é necessária em aplicações que acedam a bases de dados SQL Server 2005 remotas (System.Data.SqlClient) ou a bases de dados SQL Server 2005 Compact Edition locais no dispositivo Pocket PC (System.Data.SqlServerCe).

O separador “Projects” apresenta uma lista dos outros projectos pertencentes à solução e para os quais o programador também deverá adicionar referências caso pretenda utilizar as classes neles definidas.

O separador “Browse” permite ao programador adicionar referências para bibliotecas de p p p g pclasses que não estejam registadas na GAC e que não façam parte da solução, indicando a sua localização no sistema de ficheiros local.

O separador “Recent” apresenta uma lista das bibliotecas utilizadas recentemente.

Chama‐se a atenção de no caso dos projectos para ambiente desktop, a janela de diálogo possui um separador adicional entitulado “COM” que apresenta uma lista de todos os objectos COM registados no ambiente de desenvolvimentotodos os objectos COM registados no ambiente de desenvolvimento.

7

Page 8: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Neste exemplo, o programador deverá seleccionar o separador “Projects” e seleccionar o projecto de biblioteca de classes criado anteriormente.

8

Page 9: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

A lista de referências do projecto incluirá agora uma entrada para o projecto de biblioteca de classes. Para o programador poder utilizar neste projecto as classes declaradas no projecto referenciado, deverá adicionar aos seus ficheiros de código fonte a directiva para importação do espaço de nomes definida dessa biblioteca ou então utilizar os nomes qualificados das classes sempre que fizer referência a elas no código.

9

Page 10: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

O programador pode abrir a vista do Form Designer para cada formulário do projecto através do duplo clique com o botão esquerdo do rato sobre o ícone do formulário desejado na vista do Solution Explorer. Em alternativa poderá abrir o menu de contexto clicando com o botão direito do rato sobre o ícone e seleccionar a opção “View Designer”. Para visualizar e editar o código do formulário no editor de código deverá seleccionar a opção “View Code” nesse mesmo menu.

A vista do Form Designer reproduz o aspecto da interface gráfica do formulário tal e qual como esta será reproduzida num dispositivo Pocket PC real. Para que o programador tenha uma noção mais precisa da dimensão dos elementos da interface em relação à dimensão do dispositivo, a vista do Form Designer incluí uma imagem de um PDA Pocket PC na qual a interface gráfica da aplicação aparece integrada.

A vista do Form Designer apresenta uma interface de drag’n’drop através da qual o programador pode construir a interface gráfica das suas aplicações arrastando para cima de cada formulário os controlos desejados a partir da lista de controlos apresentada na vista “Toolbox”.

10

Page 11: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

No exemplo ilustrado na imagem, o programador optou por adicionar um controlo do ti “B tt ” à i t f d f lá i “F 1” O ódi d l i t i ttipo “Button” à interface do formulário “Form1”. O código que declara e instancia este objecto e que define os valores das suas propriedades é gerado automaticamente pelo Form Designer e adicionado ao método InitializeComponent definido no ficheiro de código Form1.Designer.cs.

O programador pode redimensionar o controlo clicando com o botão esquerdo do rato sobre os handles do controlo (ilustrados na imagem) e arrastando estes. O programador poderá também alterar a posição do controlo no formulário clicando sobre ele com o botão esquerdo do rato e arrastando. Para centrar verticalmente e/ou horizontalmente a posição do controlo no formulário o programador poderá utilizar os respectivos botões da barra de ferramentas ilustrados na imagem.

Chama‐se a atenção para o facto de no ambiente Pocket PC / Windows Mobile, o botão do canto superior direito do formulário, marcado com “X”, não fechar a aplicação mas sim minimizá‐la. Esta decisão de desenho deve‐se aos seguintes factores. Primeiro, devido às reduzidas dimensões do écran apenas é possível a visualização de uma janela p p ç jde cada vez (razão pela qual os formulários ocupam sempre o écran inteiro). Segundo, pressupõe‐se que o utilizador irá manter diferentes aplicações em execução em simultãneo, alternando entre elas consoante necessário. Por estas razões, é desejável uma maneira eficiente e rápida para que o utilizador possa minimizar a janela de uma aplicação, mantendo esta em execução e retendo o seu estado actual, e sem atulhar a interface gráfica da aplicação com elementos gráficos desnecessários e/ou pouco utilizados, que rapidamente sobrecarregariam a reduzida área disponível no écran, e dificultariam a sua leitura Deste modo convencionou‐se omitir da interface dodificultariam a sua leitura. Deste modo, convencionou‐se omitir da interface do formulário o botão para encerrar o formulário, visto esta ser uma operação pouco frequente. Mais à frente ilustra‐se como activar este botão.

11

Page 12: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Na imagem é ilustrada a vista “Properties” do Form Designer, a partir da qual o programador pode i li lt l d di i d d d t lvisualizar e alterar os valores das diversas propriedades do controlo. 

A combo box no topo da vista permite seleccionar o controlo para o qual se deseja visualizar e alterar as respectivas propriedades a partir de uma lista que contém todos os controlos (incluindo formulários) declarados na aplicação. A combo box indica o nome e tipo de controlo actualmente seleccionado, que neste exemplo é o formulário Form1.

É possivel alternar entre as vistas de propriedades (“Properties”) e de eventos (“Events”) de um determinado controlo clicando nos respectivos botões imediatamente abaixo da combo box. Na imagemdeterminado controlo clicando nos respectivos botões imediatamente abaixo da combo box. Na imagem é visível que o botão da vista “Properties” é o que está actualmente seleccionado, sendo esta a vista apresentada ao programador.

A lista de propriedades (e de eventos) apresentada ao programador varia consoante o tipo de controlo. Uma das propriedades que é comum a todos os tipos de controlos é a propriedade “(Name)”. O valor desta propriedade representa o nome da variável que é declarada no código gerado automaticamente pelo Form Designer e que irá conter a referência para a instância do controlo. Quando o programador adiciona um novo controlo à interface do formulário, o Form Designer cera automaticamente o valor para a propriedade “(Name)” desse controlo, que consiste na junção do nome do tipo de controlo  com o valor de um contador que é incrementado monotonicamente sempre que um novo controlo do mesmo tipo é criado (o Form Designer mantém um contador para cada tipo de controlo). O programador pode alterar o valor desta propriedade para um nome que faça mais sentido de acordo com a semântica da aplicação, facilitando assim a memorização dos nomes dos controlos declarados e o acesso aos mesmos programaticamente. A alteração do valor desta propriedade é repercutida automaticamente no código da aplicação pelo Form Designer, renomeando automaticamente todas as ocorrências do nome anterior pelo novo nome.

No exemplo ilustrado a propriedade “(Name1)” do formulário tem o valor “Form1”. O efeito imediato da alteração do valor desta propriedade é visível na combo box da vista “Properties”, sendo imediatamente apresentado o novo nome. Todos os formulários possuem também uma propriedade “Text” (que no caso do formulário deste exemplo tem o valor “Form1”) cujo valor é a cadeia de caracteres (string) que é apresentada na barra de título do formulário na interface gráfica da aplicação.

12

Page 13: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Todos os formulários possuem também uma propriedade “MinimizeBox” que por omissão tem o valor “True”. No exemplo ilustrado na figura, este valor é alterado para “False”. Isto tem como resultado a substituição do botão de minimizar no canto superior direito do formulário por um botão para encerrar o formulário.

Chama‐se para a atenção para que no caso de aplicações desktop, nas quais os botões para minimizar o formulário e para encerrar o formulário aparecem lado a lado na barra de título do formulário, no canto superior direito, a alteração do valor da propriedade “MinimizeBox” para “False” tem como efeito a remoção do botão para minimizar mas retendo o botão para encerrar.

13

Page 14: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

A figura ilustra que o botão para minimizar o formulário (denotado por “X”) foi substituído pelo botão para encerrar o formulário (denotado por “Ok”).

14

Page 15: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Para que a aplicação reaja às acções do utilizador, o programador deve definir os ét d i ã t d l õ d tili d N APImétodos que irão processar os eventos gerados pelas acções do utilizador. Na API 

Windows Forms estes métodos são apelidados de event handlers, e devem ser respeitar assinaturas pré‐definidas (que variam consoante o tipo de evento e definem os argumentos associados a esse evento que são passados ao método). Para que esses métodos sejam invocados pela interface gráfica, o programador deverá registar esses métodos junto dos controlos cujos eventos os métodos deverão processar. O Form Designer gera automaticamente a declaração e registo dos event handlers para os eventos mais comuns, bastando ao programador efectuar duplo clique com o botão esquerdo do rato sobre o controlo desejado para o Form Designer gerar o código stub do event handler e registar o event handler para o evento considerado mais comum para esse tipo de controlo. Mais à frente é ilustrado como gerar e registar event handlers para os restantes eventos do mesmo controlo. 

No exemplo ilustrado o programador efectuou duplo clique com o botão esquerdo do rato sobre o botão “button1” . O Form Designer gerou automaticamente o código stub para o event handler do evento “Click” (que é o tipo de evento mais comum para p (q p pcontrolos deste tipo). O stub consiste na declaração do método “button1_Click” (o nome do método é gerado por concatenação do nome do controlo com o nome do tipo de evento que está a ser processado) cujo corpo é vazio. O método é declarado no ficheiro de código Form1.cs. Neste exemplo o programador adicionou ao corpo do método uma instrução para invocar o método estático “Show” da classe “MessageBox” que terá como efeito a aparição de uma caixa de diálogo com a mensagem passada como argumento sempre que o utilizador clicar no botão.

15

Page 16: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

A figura ilustra a vista “Events” para o controlo “button1”. Podemos ver que o valor do evento “Click” para este controlo é o nome do event handler declarado no ficheiro Form1.cs. O programador poderá alterar este valor directamente, tendo como efeito a geração e registo de um novo event handler com o nome indicado com o programador. O event handler anteriormente declarado continuará a existir no ficheiro de código Form1.cs, mas não será invocado pela aplicação. Cabe ao programador remover do ficheiro o código desse event handler. O programador poderá proceder de igual modo para os restantes eventos do controlo para definir e registar os respectivos event handlers.

16

Page 17: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

A figura ilustra o código gerado automaticamente pelo Form Designer quando um novo controlo é adicionado à interface gráfica do formulário Form1. Na figura é ilustrada a declaração de um novo campo privado da classe Form1 com o nome “button1” do tipo “Button”. Para visualizar o código para instanciação do objecto e definição dos valores das suas propriedades o programador deverá expandir a região de código assinalada com o nome “Windows Form Designer generated code”.

17

Page 18: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

A expansão da região de código assinalada no slide anterior revela a definição do método InitializeComponent. 

A figura ilustra, a vermelho, a criação de uma nova instância do tipo “Button” e a atribuição de uma referência para o objecto recém‐criado ao campo “button1” da classe, seguida da declaração dos valores das propriedades do objecto e a adição do objecto à lista de controlos  do formulário (propriedade “Controls” do formulário “Form1”, denotado pela palavra chave “this”). A propriedade “Controls” é uma propriedade comum a todos os controlos que implementam a interface “IContainerControl”, ou seja, controlos que podem conter outros controlos, como é o caso dos formulários. 

A figura ilustra ainda, a verde, o registo do event handler para o evento “Click” do controlo “button1”. Como se pode ver, o registo de um event handler é simplesmente a instanciação de um novo objecto delegate (do tipo delegate associado ao evento, tipo este que define os argumentos que serão passados ao event handler) que consiste numa referência para o método a ser invocado (neste exemplo, o método “button1_Click”).

18

Page 19: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Para executar e testar a aplicação no emulador de dispositivo Pocket PC, o programador d á li ti b tã d b d f t d Vi l St di 2005deverá clicar no respectivo botão da barra de ferramentas do Visual Studio 2005, ou em alternativa seleccionar a opção correspondente no menu “Debug”. O programador poderá também escolher a configuração activa da solução (“Debug” ou “Release”). A configuração “Debug” incluí a geração da base de dados de símbolos para fins de depuração de código e permite a execução instrução a instrução do código da aplicação no emulador. Note‐se que a execução da aplicação em modo “Debug” tem associada uma perda de desempenho devido à monitorização do processo pelo debugger do Visual Studio 2005, devendo a configuração ser alterada para o modo “Release” aquando da distribuição da versão estável do código.

Chama‐se a atenção para o facto de na presença de mais do que um projecto do tipo “Device Application” (ou “Windows Application” no caso de aplicações desktop) na solução actual, apenas o projecto definido como “Startup Project” será executado. Para alterar o “Startup Project” actual, o programador deverá abrir o menu de contexto clicando com o botão direito do rato sobre o nome do projecto pretendido e seleccionar a opção “Set as Startup Project”. Para possibilitar a execução simultânea de dois ou mais pç p j p çprojectos, o programador deverá alterar as propriedades da solução. Para isso deverá abrir o menu de contexto através do clique com o botão direito do rato sobre o nome da solução, seleccionar a opção Properties e na janela de diálogo escolher a página de propriedades “Startup Project” na categoria “Common Properties”. Poderá a partir daí definir a lista de projectos que deverão ser executados.

19

Page 20: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Após o programador ter dado a ordem para execução do aplicação, será apresentado a este uma janela de diálogo para selecção do dispositivo no qual a aplicação deverá ser executada. O programador tem a opção de executar a aplicação num dispositivo físico (“Pocket PC 2003 Device”) conectado por ActiveSync (sobre ligação COM ou USB) ao sistema de desenvolvimento, ou num emulador de dispositivo (“Emulator”) tendo a opção de escolher entre diferentes skins que reflectem diferentes experiências de utilizador (nomeadamente resoluções distintas de écran e presença ou não de keypad).

Chama‐se a atenção para o facto da inicialização do emulador de dispositivo e instalação da aplicação ser um processo lento que poderá demorar mais que um minuto, dependendo do desempenho do sistema de desenvolvimento. Além disso, a instalação da aplicação poderá requerer a instalação de pré‐requisitos tais como o ambiente de execução (runtime environment) da plataforma .NET Compact Framework, em cujo caso o sistema operativo emulado (Pocket PC) solicitará ao programador a confirmação da instalação destas componentes, e só após terminada esta será a aplicação em si instalada e executada.

20

Page 21: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

As duas figuras ilustram a aplicação em execução no emulador. Para terminar a execução da aplicação o programador apenas necessita clicar no botão “Ok” no canto superior direito  do formulário.

21

Page 22: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

O programador pode controlar a execução da aplicação utilizando os botões da barra de ferramentas do Visual Studio 2005 assinalados na figura. Os botões permitem, da esquerda para a direita, dar início à execução da aplicação (na figura o botão encontra‐se desactivado visto que a aplicação já se encontra em execução), suspender a execução da aplicação, terminar a execução da aplicação e reiniciar a execução da aplicação.

22

Page 23: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Para o programador testar aplicações que acedam a recursos remotos, este precisa antes de tudo de configurar o emulador para aceder à Internet. Para tal, necessita de iniciar e configurar a aplicação “Microsoft ActiveSync” (no Windows Vista deverá utilizar a aplicação “Windows Mobile Device Center”, que oferece as mesmas funcionalidades que o “Microsoft ActiveSync” e substitui este último).

23

Page 24: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

A partir do menu “File” deverá seleccionar a opção “Connection Settings”.

24

Page 25: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

O programador deverá seleccionar a opção “Allow connections to one of the following” e escolher a opção “DMA” de entre a lista de opções disponíveis. Na opção “This computer is connected to” deverá seleccionar a opção “The Internet”.

25

Page 26: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

A seguir deverá abrir a aplicação “Device Emulator Manager” seleccionando a respectiva opção do menu “Tools” do Visual Studio 2005.

26

Page 27: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

A aplicação apresenta uma lista dos vários emuladores disponíveis. Se o emulador pretendido não se encontrar já em execução, o programador poderá proceder à iniciação manual do emulador abrindo o menu de contexto através do clique com o botão direito do rato sobre o nome do emulador pretendido e seleccionando a opção “Connect”.

27

Page 28: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Se o emulador já se encontrar em execução mas a aplicação “Device Emulator Manager” não apresentar essa indicação, o programador pode clicar no botão “Refresh” para actualizar a vista da aplicação. O estado actual do emulador é denotado por um ícone apresentado à esquerda do nome do emulador. No exemplo ilustrado na figura, o emulador “Pocket PC 2003 SE Emulator” encontra‐se em execução.

28

Page 29: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

O programador deverá abrir o menu de contexto através do clique com o botão direito do rato sobre o emulador que se encontra em execução e seleccionar a opção “Cradle”, dando assim instruções ao emulador para estabelecer uma ligação com o sistema de desenvolvimento através do protocolo ActiveSync (tratando‐se de um dispositivo virtual essa ligação é efectuada através de DMA ao invés de cabo USB ou COM como seria o caso para um dispositivo físico).

29

Page 30: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Será iniciada uma nova parceria entre o sistema de desenvolvimento e o emulador através do protocolo ActiveSync. O programador deparar‐se‐á com uma janela de diálogo do “Microsoft ActiveSync” na qual ser‐lhe‐á pedido que escolha o tipo de parceria a estabelecer. Para fins de desenvolvimento, qualquer um dos dois tipos (“Standard” ou “Guest”) será adequado. No entanto, tendo em conta que a sincronização de dados entre o dispositivo e o sistema de desenvolvimento é completamente irrelevante para a maioria dos cenários de desenvolvimento, o tipo de parceria “Guest partnership” deverá ser o utilizado para evitar o overhead da fase de sincronização e concluir mais rapidamente o processo de estabelecimento de parceria.

30

Page 31: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Uma vez estabelecida a parceria entre o emulador e o sistema de desenvolvimento, as aplicações Pocket PC instaladas no emulador poderão aceder aos vários recursos disponíveis na rede. Para confirmar se o acesso à rede a partir do emulador está correctamente configurado, o programador poderá iniciar a aplicação “Internet Explorer”, instalada por omissão em todos os ambientes Pocket PC / Windows Mobile, e tentar aceder a um qualquer website.

31

Page 32: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Devido às restrições a nível de desempenho e de espaço dos dispositivos Pocket PC / Windows Mobile, a plataforma .NET Compact Framework apenas contém uma fracção das classes e das funcionalidades presentes na versão desktop da .NET Framework. O programador poderá consultar a documentação da MSDN Library (seleccionar “.NET Development” ‐ > “.NET Framework SDK” ‐> “.NET Framework” ‐> “.NET Framework Class Library” ) para verificar se uma determinada classe é suportada ou não pela .NET Compact Framework e em que versões desta (como ilustrado na figura).

32

Page 33: Introdução ao Visual Studio 2005.ppt - Técnico Lisboa · PDF filePara criar uma nova solução no Visual Studio 2005, abrir o menu “File”, seguido do sub‐ menu “New” e

Mesmo que uma classe seja suportada pela .NET Compact Framework, é possível que vários dos seus membros, suportados na versão desktop da plataforma, não o sejam na versão para dispositivos móveis. Para confirmar se determinado membro é suportado ou não pela .NET Compact Framework, o programador deverá consultar a lista de membros da classe na documentação da MSDN Library e verificar se o membro em causa tem associado um ícone de PDA, tal como ilustrado na figura para as propriedades “CurrentDomain” e “FriendlyName” da classe “AppDomain” do espaço de nomes “System”. A título de informação, os outros ícones ilustrados na figura indicam o tipo do membro (propriedade, campo, método, etc.), sendo todos os membros ilustrados no exemplo da figura do tipo propriedade, e se o membro é estático ou não.

33