Desenvolvimento para Mobile com Magic xpa - Magic Sem Segredos S01E02
Explorando a Integração com .NET com o Magic xpa – Magic Sem Segredos – S01E07
-
Upload
magic-software-brasil -
Category
Technology
-
view
487 -
download
8
description
Transcript of Explorando a Integração com .NET com o Magic xpa – Magic Sem Segredos – S01E07
Explorando a Integraccedilatildeo com NET com o Magic xpa
Magic Sem Segredos ndash S01E07 ndash 21 Marccedilo 2014
Magic Sem Segredos
bull Magic Software
bull Magic em Accedilatildeo
bull Painel e Perguntas e
Respostas (Comentaacuterios do
Blog)
Agenda
httpmssmagicsoftwarecombr
Quem somos
Um fornecedor global de plataformas de desenvolvimento e integraccedilatildeo
de aplicaccedilotildees
Experiecircncia
comprovada
Tecnologia e
InovaccedilatildeoNecessidades de
Negoacutecios
30anos
Especialistas
em
Com foco em
Quem somos
bull NASDAQ (MGIC)
bull Fundada em 1983 (+30
anos)
bull 14 Escritoacuterios
mundialmente
bull Presente em mais de 50
paiacuteses
bull Parceiros +3000
Alguns Clientes Globais
Quem somos no Brasil
bull Fundada em 1992 (+20
anos)
bull Distribuidor exclusivo
local e na maior parte dos
paiacuteses da Ameacuterica do Sul
Alguns Clientes no Brasil
Alguns Parceiros no Brasil
Desafio Disponibilizar o
que haacute de mais avanccedilado e
praacutetico em termos de
tecnologia para nossos
clientesparceiros
desenvolvedores (Magic
xpa Magic mdm) e
integradores (Magic xpi)
A Magic potencializa seus clientes e parceiros em todo o mundo
com tecnologias mais inteligentes que oferecem uma experiecircncia
multicanal de processos loacutegica e dados empresariais
Magic xpa Plataforma
completa para criaccedilatildeo de
soluccedilotildees corporativas para
os ecossistemas Mobile
Desktop Servidores e
RIA
Integraccedilatildeo com NET
A Plataforma de Aplicaccedilotildees Magic xpa permite integraccedilatildeo com qualquer controle ou biblioteca NET
Vocecirc pode evoluir a experiecircncia do usuaacuterios em suas aplicaccedilotildees RIA ou ClienteServidor colocando controles NET diretamente nas interfaces (telas)
Vocecirc pode tambeacutem evoluir as funcionalidades da aplicaccedilatildeo atraveacutes de integraccedilatildeo com formulaacuterios ou bibliotecas NET
Para acessar essas funcionalidades NET eacute necessaacuterio ter o NET framework V20 SP1 (ou superior) instalado nas maacutequinas
Magic em Accedilatildeo
Definindo Variaacuteveis NET
Apoacutes carregar uma biblioteca NET na Plataforma de Aplicaccedilotildees Magic xpa todos seus objetos e meacutetodos estaratildeo acessiacuteveis As bibliotecas NET satildeo carregadas no repositoacuterio de componentes (CRR) dos projetos Magic xpa Podemos definir uma variaacutevel NET para uso em programas do Magic xpa e se o objeto for um controle podemos adicionaacute-lo agrave tela do programa e ajustar suas propriedades
Controlando Propriedades NET
Objetos NET possuem propriedades
e meacutetodos As propriedades satildeo
campos do objeto que podem ser
acessados para consulta eou
modificaccedilatildeo de algum atributo Estes
valores de atributos normalmente satildeo
usados em caacutelculos apresentaccedilatildeo
ao usuaacuterio e etc A relaccedilatildeo entre os
tipos de dados NET e os tipos de
dados Magic xpa pode ser observada
a seguir
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Magic Sem Segredos
bull Magic Software
bull Magic em Accedilatildeo
bull Painel e Perguntas e
Respostas (Comentaacuterios do
Blog)
Agenda
httpmssmagicsoftwarecombr
Quem somos
Um fornecedor global de plataformas de desenvolvimento e integraccedilatildeo
de aplicaccedilotildees
Experiecircncia
comprovada
Tecnologia e
InovaccedilatildeoNecessidades de
Negoacutecios
30anos
Especialistas
em
Com foco em
Quem somos
bull NASDAQ (MGIC)
bull Fundada em 1983 (+30
anos)
bull 14 Escritoacuterios
mundialmente
bull Presente em mais de 50
paiacuteses
bull Parceiros +3000
Alguns Clientes Globais
Quem somos no Brasil
bull Fundada em 1992 (+20
anos)
bull Distribuidor exclusivo
local e na maior parte dos
paiacuteses da Ameacuterica do Sul
Alguns Clientes no Brasil
Alguns Parceiros no Brasil
Desafio Disponibilizar o
que haacute de mais avanccedilado e
praacutetico em termos de
tecnologia para nossos
clientesparceiros
desenvolvedores (Magic
xpa Magic mdm) e
integradores (Magic xpi)
A Magic potencializa seus clientes e parceiros em todo o mundo
com tecnologias mais inteligentes que oferecem uma experiecircncia
multicanal de processos loacutegica e dados empresariais
Magic xpa Plataforma
completa para criaccedilatildeo de
soluccedilotildees corporativas para
os ecossistemas Mobile
Desktop Servidores e
RIA
Integraccedilatildeo com NET
A Plataforma de Aplicaccedilotildees Magic xpa permite integraccedilatildeo com qualquer controle ou biblioteca NET
Vocecirc pode evoluir a experiecircncia do usuaacuterios em suas aplicaccedilotildees RIA ou ClienteServidor colocando controles NET diretamente nas interfaces (telas)
Vocecirc pode tambeacutem evoluir as funcionalidades da aplicaccedilatildeo atraveacutes de integraccedilatildeo com formulaacuterios ou bibliotecas NET
Para acessar essas funcionalidades NET eacute necessaacuterio ter o NET framework V20 SP1 (ou superior) instalado nas maacutequinas
Magic em Accedilatildeo
Definindo Variaacuteveis NET
Apoacutes carregar uma biblioteca NET na Plataforma de Aplicaccedilotildees Magic xpa todos seus objetos e meacutetodos estaratildeo acessiacuteveis As bibliotecas NET satildeo carregadas no repositoacuterio de componentes (CRR) dos projetos Magic xpa Podemos definir uma variaacutevel NET para uso em programas do Magic xpa e se o objeto for um controle podemos adicionaacute-lo agrave tela do programa e ajustar suas propriedades
Controlando Propriedades NET
Objetos NET possuem propriedades
e meacutetodos As propriedades satildeo
campos do objeto que podem ser
acessados para consulta eou
modificaccedilatildeo de algum atributo Estes
valores de atributos normalmente satildeo
usados em caacutelculos apresentaccedilatildeo
ao usuaacuterio e etc A relaccedilatildeo entre os
tipos de dados NET e os tipos de
dados Magic xpa pode ser observada
a seguir
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Quem somos
Um fornecedor global de plataformas de desenvolvimento e integraccedilatildeo
de aplicaccedilotildees
Experiecircncia
comprovada
Tecnologia e
InovaccedilatildeoNecessidades de
Negoacutecios
30anos
Especialistas
em
Com foco em
Quem somos
bull NASDAQ (MGIC)
bull Fundada em 1983 (+30
anos)
bull 14 Escritoacuterios
mundialmente
bull Presente em mais de 50
paiacuteses
bull Parceiros +3000
Alguns Clientes Globais
Quem somos no Brasil
bull Fundada em 1992 (+20
anos)
bull Distribuidor exclusivo
local e na maior parte dos
paiacuteses da Ameacuterica do Sul
Alguns Clientes no Brasil
Alguns Parceiros no Brasil
Desafio Disponibilizar o
que haacute de mais avanccedilado e
praacutetico em termos de
tecnologia para nossos
clientesparceiros
desenvolvedores (Magic
xpa Magic mdm) e
integradores (Magic xpi)
A Magic potencializa seus clientes e parceiros em todo o mundo
com tecnologias mais inteligentes que oferecem uma experiecircncia
multicanal de processos loacutegica e dados empresariais
Magic xpa Plataforma
completa para criaccedilatildeo de
soluccedilotildees corporativas para
os ecossistemas Mobile
Desktop Servidores e
RIA
Integraccedilatildeo com NET
A Plataforma de Aplicaccedilotildees Magic xpa permite integraccedilatildeo com qualquer controle ou biblioteca NET
Vocecirc pode evoluir a experiecircncia do usuaacuterios em suas aplicaccedilotildees RIA ou ClienteServidor colocando controles NET diretamente nas interfaces (telas)
Vocecirc pode tambeacutem evoluir as funcionalidades da aplicaccedilatildeo atraveacutes de integraccedilatildeo com formulaacuterios ou bibliotecas NET
Para acessar essas funcionalidades NET eacute necessaacuterio ter o NET framework V20 SP1 (ou superior) instalado nas maacutequinas
Magic em Accedilatildeo
Definindo Variaacuteveis NET
Apoacutes carregar uma biblioteca NET na Plataforma de Aplicaccedilotildees Magic xpa todos seus objetos e meacutetodos estaratildeo acessiacuteveis As bibliotecas NET satildeo carregadas no repositoacuterio de componentes (CRR) dos projetos Magic xpa Podemos definir uma variaacutevel NET para uso em programas do Magic xpa e se o objeto for um controle podemos adicionaacute-lo agrave tela do programa e ajustar suas propriedades
Controlando Propriedades NET
Objetos NET possuem propriedades
e meacutetodos As propriedades satildeo
campos do objeto que podem ser
acessados para consulta eou
modificaccedilatildeo de algum atributo Estes
valores de atributos normalmente satildeo
usados em caacutelculos apresentaccedilatildeo
ao usuaacuterio e etc A relaccedilatildeo entre os
tipos de dados NET e os tipos de
dados Magic xpa pode ser observada
a seguir
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Quem somos
bull NASDAQ (MGIC)
bull Fundada em 1983 (+30
anos)
bull 14 Escritoacuterios
mundialmente
bull Presente em mais de 50
paiacuteses
bull Parceiros +3000
Alguns Clientes Globais
Quem somos no Brasil
bull Fundada em 1992 (+20
anos)
bull Distribuidor exclusivo
local e na maior parte dos
paiacuteses da Ameacuterica do Sul
Alguns Clientes no Brasil
Alguns Parceiros no Brasil
Desafio Disponibilizar o
que haacute de mais avanccedilado e
praacutetico em termos de
tecnologia para nossos
clientesparceiros
desenvolvedores (Magic
xpa Magic mdm) e
integradores (Magic xpi)
A Magic potencializa seus clientes e parceiros em todo o mundo
com tecnologias mais inteligentes que oferecem uma experiecircncia
multicanal de processos loacutegica e dados empresariais
Magic xpa Plataforma
completa para criaccedilatildeo de
soluccedilotildees corporativas para
os ecossistemas Mobile
Desktop Servidores e
RIA
Integraccedilatildeo com NET
A Plataforma de Aplicaccedilotildees Magic xpa permite integraccedilatildeo com qualquer controle ou biblioteca NET
Vocecirc pode evoluir a experiecircncia do usuaacuterios em suas aplicaccedilotildees RIA ou ClienteServidor colocando controles NET diretamente nas interfaces (telas)
Vocecirc pode tambeacutem evoluir as funcionalidades da aplicaccedilatildeo atraveacutes de integraccedilatildeo com formulaacuterios ou bibliotecas NET
Para acessar essas funcionalidades NET eacute necessaacuterio ter o NET framework V20 SP1 (ou superior) instalado nas maacutequinas
Magic em Accedilatildeo
Definindo Variaacuteveis NET
Apoacutes carregar uma biblioteca NET na Plataforma de Aplicaccedilotildees Magic xpa todos seus objetos e meacutetodos estaratildeo acessiacuteveis As bibliotecas NET satildeo carregadas no repositoacuterio de componentes (CRR) dos projetos Magic xpa Podemos definir uma variaacutevel NET para uso em programas do Magic xpa e se o objeto for um controle podemos adicionaacute-lo agrave tela do programa e ajustar suas propriedades
Controlando Propriedades NET
Objetos NET possuem propriedades
e meacutetodos As propriedades satildeo
campos do objeto que podem ser
acessados para consulta eou
modificaccedilatildeo de algum atributo Estes
valores de atributos normalmente satildeo
usados em caacutelculos apresentaccedilatildeo
ao usuaacuterio e etc A relaccedilatildeo entre os
tipos de dados NET e os tipos de
dados Magic xpa pode ser observada
a seguir
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Alguns Clientes Globais
Quem somos no Brasil
bull Fundada em 1992 (+20
anos)
bull Distribuidor exclusivo
local e na maior parte dos
paiacuteses da Ameacuterica do Sul
Alguns Clientes no Brasil
Alguns Parceiros no Brasil
Desafio Disponibilizar o
que haacute de mais avanccedilado e
praacutetico em termos de
tecnologia para nossos
clientesparceiros
desenvolvedores (Magic
xpa Magic mdm) e
integradores (Magic xpi)
A Magic potencializa seus clientes e parceiros em todo o mundo
com tecnologias mais inteligentes que oferecem uma experiecircncia
multicanal de processos loacutegica e dados empresariais
Magic xpa Plataforma
completa para criaccedilatildeo de
soluccedilotildees corporativas para
os ecossistemas Mobile
Desktop Servidores e
RIA
Integraccedilatildeo com NET
A Plataforma de Aplicaccedilotildees Magic xpa permite integraccedilatildeo com qualquer controle ou biblioteca NET
Vocecirc pode evoluir a experiecircncia do usuaacuterios em suas aplicaccedilotildees RIA ou ClienteServidor colocando controles NET diretamente nas interfaces (telas)
Vocecirc pode tambeacutem evoluir as funcionalidades da aplicaccedilatildeo atraveacutes de integraccedilatildeo com formulaacuterios ou bibliotecas NET
Para acessar essas funcionalidades NET eacute necessaacuterio ter o NET framework V20 SP1 (ou superior) instalado nas maacutequinas
Magic em Accedilatildeo
Definindo Variaacuteveis NET
Apoacutes carregar uma biblioteca NET na Plataforma de Aplicaccedilotildees Magic xpa todos seus objetos e meacutetodos estaratildeo acessiacuteveis As bibliotecas NET satildeo carregadas no repositoacuterio de componentes (CRR) dos projetos Magic xpa Podemos definir uma variaacutevel NET para uso em programas do Magic xpa e se o objeto for um controle podemos adicionaacute-lo agrave tela do programa e ajustar suas propriedades
Controlando Propriedades NET
Objetos NET possuem propriedades
e meacutetodos As propriedades satildeo
campos do objeto que podem ser
acessados para consulta eou
modificaccedilatildeo de algum atributo Estes
valores de atributos normalmente satildeo
usados em caacutelculos apresentaccedilatildeo
ao usuaacuterio e etc A relaccedilatildeo entre os
tipos de dados NET e os tipos de
dados Magic xpa pode ser observada
a seguir
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Quem somos no Brasil
bull Fundada em 1992 (+20
anos)
bull Distribuidor exclusivo
local e na maior parte dos
paiacuteses da Ameacuterica do Sul
Alguns Clientes no Brasil
Alguns Parceiros no Brasil
Desafio Disponibilizar o
que haacute de mais avanccedilado e
praacutetico em termos de
tecnologia para nossos
clientesparceiros
desenvolvedores (Magic
xpa Magic mdm) e
integradores (Magic xpi)
A Magic potencializa seus clientes e parceiros em todo o mundo
com tecnologias mais inteligentes que oferecem uma experiecircncia
multicanal de processos loacutegica e dados empresariais
Magic xpa Plataforma
completa para criaccedilatildeo de
soluccedilotildees corporativas para
os ecossistemas Mobile
Desktop Servidores e
RIA
Integraccedilatildeo com NET
A Plataforma de Aplicaccedilotildees Magic xpa permite integraccedilatildeo com qualquer controle ou biblioteca NET
Vocecirc pode evoluir a experiecircncia do usuaacuterios em suas aplicaccedilotildees RIA ou ClienteServidor colocando controles NET diretamente nas interfaces (telas)
Vocecirc pode tambeacutem evoluir as funcionalidades da aplicaccedilatildeo atraveacutes de integraccedilatildeo com formulaacuterios ou bibliotecas NET
Para acessar essas funcionalidades NET eacute necessaacuterio ter o NET framework V20 SP1 (ou superior) instalado nas maacutequinas
Magic em Accedilatildeo
Definindo Variaacuteveis NET
Apoacutes carregar uma biblioteca NET na Plataforma de Aplicaccedilotildees Magic xpa todos seus objetos e meacutetodos estaratildeo acessiacuteveis As bibliotecas NET satildeo carregadas no repositoacuterio de componentes (CRR) dos projetos Magic xpa Podemos definir uma variaacutevel NET para uso em programas do Magic xpa e se o objeto for um controle podemos adicionaacute-lo agrave tela do programa e ajustar suas propriedades
Controlando Propriedades NET
Objetos NET possuem propriedades
e meacutetodos As propriedades satildeo
campos do objeto que podem ser
acessados para consulta eou
modificaccedilatildeo de algum atributo Estes
valores de atributos normalmente satildeo
usados em caacutelculos apresentaccedilatildeo
ao usuaacuterio e etc A relaccedilatildeo entre os
tipos de dados NET e os tipos de
dados Magic xpa pode ser observada
a seguir
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Alguns Clientes no Brasil
Alguns Parceiros no Brasil
Desafio Disponibilizar o
que haacute de mais avanccedilado e
praacutetico em termos de
tecnologia para nossos
clientesparceiros
desenvolvedores (Magic
xpa Magic mdm) e
integradores (Magic xpi)
A Magic potencializa seus clientes e parceiros em todo o mundo
com tecnologias mais inteligentes que oferecem uma experiecircncia
multicanal de processos loacutegica e dados empresariais
Magic xpa Plataforma
completa para criaccedilatildeo de
soluccedilotildees corporativas para
os ecossistemas Mobile
Desktop Servidores e
RIA
Integraccedilatildeo com NET
A Plataforma de Aplicaccedilotildees Magic xpa permite integraccedilatildeo com qualquer controle ou biblioteca NET
Vocecirc pode evoluir a experiecircncia do usuaacuterios em suas aplicaccedilotildees RIA ou ClienteServidor colocando controles NET diretamente nas interfaces (telas)
Vocecirc pode tambeacutem evoluir as funcionalidades da aplicaccedilatildeo atraveacutes de integraccedilatildeo com formulaacuterios ou bibliotecas NET
Para acessar essas funcionalidades NET eacute necessaacuterio ter o NET framework V20 SP1 (ou superior) instalado nas maacutequinas
Magic em Accedilatildeo
Definindo Variaacuteveis NET
Apoacutes carregar uma biblioteca NET na Plataforma de Aplicaccedilotildees Magic xpa todos seus objetos e meacutetodos estaratildeo acessiacuteveis As bibliotecas NET satildeo carregadas no repositoacuterio de componentes (CRR) dos projetos Magic xpa Podemos definir uma variaacutevel NET para uso em programas do Magic xpa e se o objeto for um controle podemos adicionaacute-lo agrave tela do programa e ajustar suas propriedades
Controlando Propriedades NET
Objetos NET possuem propriedades
e meacutetodos As propriedades satildeo
campos do objeto que podem ser
acessados para consulta eou
modificaccedilatildeo de algum atributo Estes
valores de atributos normalmente satildeo
usados em caacutelculos apresentaccedilatildeo
ao usuaacuterio e etc A relaccedilatildeo entre os
tipos de dados NET e os tipos de
dados Magic xpa pode ser observada
a seguir
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Alguns Parceiros no Brasil
Desafio Disponibilizar o
que haacute de mais avanccedilado e
praacutetico em termos de
tecnologia para nossos
clientesparceiros
desenvolvedores (Magic
xpa Magic mdm) e
integradores (Magic xpi)
A Magic potencializa seus clientes e parceiros em todo o mundo
com tecnologias mais inteligentes que oferecem uma experiecircncia
multicanal de processos loacutegica e dados empresariais
Magic xpa Plataforma
completa para criaccedilatildeo de
soluccedilotildees corporativas para
os ecossistemas Mobile
Desktop Servidores e
RIA
Integraccedilatildeo com NET
A Plataforma de Aplicaccedilotildees Magic xpa permite integraccedilatildeo com qualquer controle ou biblioteca NET
Vocecirc pode evoluir a experiecircncia do usuaacuterios em suas aplicaccedilotildees RIA ou ClienteServidor colocando controles NET diretamente nas interfaces (telas)
Vocecirc pode tambeacutem evoluir as funcionalidades da aplicaccedilatildeo atraveacutes de integraccedilatildeo com formulaacuterios ou bibliotecas NET
Para acessar essas funcionalidades NET eacute necessaacuterio ter o NET framework V20 SP1 (ou superior) instalado nas maacutequinas
Magic em Accedilatildeo
Definindo Variaacuteveis NET
Apoacutes carregar uma biblioteca NET na Plataforma de Aplicaccedilotildees Magic xpa todos seus objetos e meacutetodos estaratildeo acessiacuteveis As bibliotecas NET satildeo carregadas no repositoacuterio de componentes (CRR) dos projetos Magic xpa Podemos definir uma variaacutevel NET para uso em programas do Magic xpa e se o objeto for um controle podemos adicionaacute-lo agrave tela do programa e ajustar suas propriedades
Controlando Propriedades NET
Objetos NET possuem propriedades
e meacutetodos As propriedades satildeo
campos do objeto que podem ser
acessados para consulta eou
modificaccedilatildeo de algum atributo Estes
valores de atributos normalmente satildeo
usados em caacutelculos apresentaccedilatildeo
ao usuaacuterio e etc A relaccedilatildeo entre os
tipos de dados NET e os tipos de
dados Magic xpa pode ser observada
a seguir
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Desafio Disponibilizar o
que haacute de mais avanccedilado e
praacutetico em termos de
tecnologia para nossos
clientesparceiros
desenvolvedores (Magic
xpa Magic mdm) e
integradores (Magic xpi)
A Magic potencializa seus clientes e parceiros em todo o mundo
com tecnologias mais inteligentes que oferecem uma experiecircncia
multicanal de processos loacutegica e dados empresariais
Magic xpa Plataforma
completa para criaccedilatildeo de
soluccedilotildees corporativas para
os ecossistemas Mobile
Desktop Servidores e
RIA
Integraccedilatildeo com NET
A Plataforma de Aplicaccedilotildees Magic xpa permite integraccedilatildeo com qualquer controle ou biblioteca NET
Vocecirc pode evoluir a experiecircncia do usuaacuterios em suas aplicaccedilotildees RIA ou ClienteServidor colocando controles NET diretamente nas interfaces (telas)
Vocecirc pode tambeacutem evoluir as funcionalidades da aplicaccedilatildeo atraveacutes de integraccedilatildeo com formulaacuterios ou bibliotecas NET
Para acessar essas funcionalidades NET eacute necessaacuterio ter o NET framework V20 SP1 (ou superior) instalado nas maacutequinas
Magic em Accedilatildeo
Definindo Variaacuteveis NET
Apoacutes carregar uma biblioteca NET na Plataforma de Aplicaccedilotildees Magic xpa todos seus objetos e meacutetodos estaratildeo acessiacuteveis As bibliotecas NET satildeo carregadas no repositoacuterio de componentes (CRR) dos projetos Magic xpa Podemos definir uma variaacutevel NET para uso em programas do Magic xpa e se o objeto for um controle podemos adicionaacute-lo agrave tela do programa e ajustar suas propriedades
Controlando Propriedades NET
Objetos NET possuem propriedades
e meacutetodos As propriedades satildeo
campos do objeto que podem ser
acessados para consulta eou
modificaccedilatildeo de algum atributo Estes
valores de atributos normalmente satildeo
usados em caacutelculos apresentaccedilatildeo
ao usuaacuterio e etc A relaccedilatildeo entre os
tipos de dados NET e os tipos de
dados Magic xpa pode ser observada
a seguir
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
A Magic potencializa seus clientes e parceiros em todo o mundo
com tecnologias mais inteligentes que oferecem uma experiecircncia
multicanal de processos loacutegica e dados empresariais
Magic xpa Plataforma
completa para criaccedilatildeo de
soluccedilotildees corporativas para
os ecossistemas Mobile
Desktop Servidores e
RIA
Integraccedilatildeo com NET
A Plataforma de Aplicaccedilotildees Magic xpa permite integraccedilatildeo com qualquer controle ou biblioteca NET
Vocecirc pode evoluir a experiecircncia do usuaacuterios em suas aplicaccedilotildees RIA ou ClienteServidor colocando controles NET diretamente nas interfaces (telas)
Vocecirc pode tambeacutem evoluir as funcionalidades da aplicaccedilatildeo atraveacutes de integraccedilatildeo com formulaacuterios ou bibliotecas NET
Para acessar essas funcionalidades NET eacute necessaacuterio ter o NET framework V20 SP1 (ou superior) instalado nas maacutequinas
Magic em Accedilatildeo
Definindo Variaacuteveis NET
Apoacutes carregar uma biblioteca NET na Plataforma de Aplicaccedilotildees Magic xpa todos seus objetos e meacutetodos estaratildeo acessiacuteveis As bibliotecas NET satildeo carregadas no repositoacuterio de componentes (CRR) dos projetos Magic xpa Podemos definir uma variaacutevel NET para uso em programas do Magic xpa e se o objeto for um controle podemos adicionaacute-lo agrave tela do programa e ajustar suas propriedades
Controlando Propriedades NET
Objetos NET possuem propriedades
e meacutetodos As propriedades satildeo
campos do objeto que podem ser
acessados para consulta eou
modificaccedilatildeo de algum atributo Estes
valores de atributos normalmente satildeo
usados em caacutelculos apresentaccedilatildeo
ao usuaacuterio e etc A relaccedilatildeo entre os
tipos de dados NET e os tipos de
dados Magic xpa pode ser observada
a seguir
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Magic xpa Plataforma
completa para criaccedilatildeo de
soluccedilotildees corporativas para
os ecossistemas Mobile
Desktop Servidores e
RIA
Integraccedilatildeo com NET
A Plataforma de Aplicaccedilotildees Magic xpa permite integraccedilatildeo com qualquer controle ou biblioteca NET
Vocecirc pode evoluir a experiecircncia do usuaacuterios em suas aplicaccedilotildees RIA ou ClienteServidor colocando controles NET diretamente nas interfaces (telas)
Vocecirc pode tambeacutem evoluir as funcionalidades da aplicaccedilatildeo atraveacutes de integraccedilatildeo com formulaacuterios ou bibliotecas NET
Para acessar essas funcionalidades NET eacute necessaacuterio ter o NET framework V20 SP1 (ou superior) instalado nas maacutequinas
Magic em Accedilatildeo
Definindo Variaacuteveis NET
Apoacutes carregar uma biblioteca NET na Plataforma de Aplicaccedilotildees Magic xpa todos seus objetos e meacutetodos estaratildeo acessiacuteveis As bibliotecas NET satildeo carregadas no repositoacuterio de componentes (CRR) dos projetos Magic xpa Podemos definir uma variaacutevel NET para uso em programas do Magic xpa e se o objeto for um controle podemos adicionaacute-lo agrave tela do programa e ajustar suas propriedades
Controlando Propriedades NET
Objetos NET possuem propriedades
e meacutetodos As propriedades satildeo
campos do objeto que podem ser
acessados para consulta eou
modificaccedilatildeo de algum atributo Estes
valores de atributos normalmente satildeo
usados em caacutelculos apresentaccedilatildeo
ao usuaacuterio e etc A relaccedilatildeo entre os
tipos de dados NET e os tipos de
dados Magic xpa pode ser observada
a seguir
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Integraccedilatildeo com NET
A Plataforma de Aplicaccedilotildees Magic xpa permite integraccedilatildeo com qualquer controle ou biblioteca NET
Vocecirc pode evoluir a experiecircncia do usuaacuterios em suas aplicaccedilotildees RIA ou ClienteServidor colocando controles NET diretamente nas interfaces (telas)
Vocecirc pode tambeacutem evoluir as funcionalidades da aplicaccedilatildeo atraveacutes de integraccedilatildeo com formulaacuterios ou bibliotecas NET
Para acessar essas funcionalidades NET eacute necessaacuterio ter o NET framework V20 SP1 (ou superior) instalado nas maacutequinas
Magic em Accedilatildeo
Definindo Variaacuteveis NET
Apoacutes carregar uma biblioteca NET na Plataforma de Aplicaccedilotildees Magic xpa todos seus objetos e meacutetodos estaratildeo acessiacuteveis As bibliotecas NET satildeo carregadas no repositoacuterio de componentes (CRR) dos projetos Magic xpa Podemos definir uma variaacutevel NET para uso em programas do Magic xpa e se o objeto for um controle podemos adicionaacute-lo agrave tela do programa e ajustar suas propriedades
Controlando Propriedades NET
Objetos NET possuem propriedades
e meacutetodos As propriedades satildeo
campos do objeto que podem ser
acessados para consulta eou
modificaccedilatildeo de algum atributo Estes
valores de atributos normalmente satildeo
usados em caacutelculos apresentaccedilatildeo
ao usuaacuterio e etc A relaccedilatildeo entre os
tipos de dados NET e os tipos de
dados Magic xpa pode ser observada
a seguir
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Magic em Accedilatildeo
Definindo Variaacuteveis NET
Apoacutes carregar uma biblioteca NET na Plataforma de Aplicaccedilotildees Magic xpa todos seus objetos e meacutetodos estaratildeo acessiacuteveis As bibliotecas NET satildeo carregadas no repositoacuterio de componentes (CRR) dos projetos Magic xpa Podemos definir uma variaacutevel NET para uso em programas do Magic xpa e se o objeto for um controle podemos adicionaacute-lo agrave tela do programa e ajustar suas propriedades
Controlando Propriedades NET
Objetos NET possuem propriedades
e meacutetodos As propriedades satildeo
campos do objeto que podem ser
acessados para consulta eou
modificaccedilatildeo de algum atributo Estes
valores de atributos normalmente satildeo
usados em caacutelculos apresentaccedilatildeo
ao usuaacuterio e etc A relaccedilatildeo entre os
tipos de dados NET e os tipos de
dados Magic xpa pode ser observada
a seguir
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Definindo Variaacuteveis NET
Apoacutes carregar uma biblioteca NET na Plataforma de Aplicaccedilotildees Magic xpa todos seus objetos e meacutetodos estaratildeo acessiacuteveis As bibliotecas NET satildeo carregadas no repositoacuterio de componentes (CRR) dos projetos Magic xpa Podemos definir uma variaacutevel NET para uso em programas do Magic xpa e se o objeto for um controle podemos adicionaacute-lo agrave tela do programa e ajustar suas propriedades
Controlando Propriedades NET
Objetos NET possuem propriedades
e meacutetodos As propriedades satildeo
campos do objeto que podem ser
acessados para consulta eou
modificaccedilatildeo de algum atributo Estes
valores de atributos normalmente satildeo
usados em caacutelculos apresentaccedilatildeo
ao usuaacuterio e etc A relaccedilatildeo entre os
tipos de dados NET e os tipos de
dados Magic xpa pode ser observada
a seguir
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Controlando Propriedades NET
Objetos NET possuem propriedades
e meacutetodos As propriedades satildeo
campos do objeto que podem ser
acessados para consulta eou
modificaccedilatildeo de algum atributo Estes
valores de atributos normalmente satildeo
usados em caacutelculos apresentaccedilatildeo
ao usuaacuterio e etc A relaccedilatildeo entre os
tipos de dados NET e os tipos de
dados Magic xpa pode ser observada
a seguir
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Correspondecircncia entre Tipos
Tipo na
Plataforma
Magic xpa
Tipo NET
Numeric SByte Byte Int16 Uint16 Int32 UInt32 Int64 UInt64 IntPtr
UIntPtr Char Decimal Single Double Float
Alpha Unicode Char Char[] String StringBuilder
Date DateTime
Time DateTime TimeSpan
Logical Boolean
Blob Byte Byte[] Char Char[] String StringBuilder
Vector
ICollection (somente de NET para Magic xpa) IList e objetos que
implementam indexadores atraveacutes da palavra-chave this
Somente indexadores cujo iacutendice eacute numeacuterico (int) O Magic xpa soacute
converte vetores simples (sem multi dimensatildeo)
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Usando a funccedilatildeo DNCast()
O Magic xpa possui uma funccedilatildeo chamada DNCast() para
conversatildeo expliacutecita de um tipo NET em outro quando
necessaacuterio
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Usando a funccedilatildeo DNSet()
O Magic xpa possui uma funccedilatildeo chamada DNSet() para
realizar alteraccedilatildeo do conteuacutedo de propriedades de
objetos NET (NET=DN) Aleacutem disso objetos NET
podem ser acessados diretamente do editor de
expressotildees atraveacutes do prefixo DotNet
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Usando Pseudocircnimos (Alias) NET
O sistema de nomeaccedilatildeo de tipos no
NET eacute longo e requer muita digitaccedilatildeo
O Magic xpa permite criar pseudocircnimos
para as bibliotecas carregadas afim de
facilitar o acesso aos tipos com menor
esforccedilo de digitaccedilatildeo Mesmo o Magic
xpa possuindo o recurso intelliSense
no acesso ao NET os pseudocircnimos
satildeo uma ferramenta bastante uacutetil
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Usando Meacutetodos NET
Muitos objetos NET permitem executar accedilotildees atraveacutes de
seus meacutetodos (procedimentos ou funccedilotildees) e seus eventos O
Magic xpa permite invocar estes meacutetodos e tambeacutem
interceptar estes eventos
Como objetos NET podem disparar eventos durante a
execuccedilatildeo de programas o Magic xpa permite criar handlers
para estes eventos e definir accedilotildees a serem executadas
dentro destes handlers
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Interceptando Eventos NET
Os desenvolvedores Magic xpa satildeo devem estar
familiarizados com o conceito de Evento e Handler de
Evento que eacute nativo da plataforma Vaacuterios objetos NET
expotildeem eventos que podem ser disparados durante a
execuccedilatildeo dos programas Especialmente controles NET
que possuem eventos como ldquoOnMouseClickrdquo O Magic
xpa permite a criaccedilatildeo de handlers para estes eventos
afim de se adicionar regras de negoacutecio a uma accedilatildeo que
ocorreu durante a execuccedilatildeo de um programa
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Trabalhando com Construtores
Quando um objeto NET natildeo eacute colocado no formulaacuterio ele necessita
ser instanciado manualmente Isso eacute feito invocando-se o construtor
da classe Os construtores satildeo meacutetodos que possuem o mesmo nome
da classe e que retornam uma instacircncia de objeto da referida classe
Os construtores devem ser acionados pelo editor de expressotildees
usando-se o prefixo DotNet Por exemplo o construtor da classe
StringBuilder deve ser invocado desta forma DotNetStringBuilder()
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Definindo Vetores NET
Um vetor (array) NET eacute similar a um vetor Magic xpa Ou
seja variaacuteveis que armazenam muacuteltiplos valores de um
mesmo tipo Mas ao contraacuterio de vetores Magic xpa que
possuem tamanho dinacircmico vetores NET precisam ter
seu tamanho maacuteximo definido na sua instanciaccedilatildeo
No Magic xpa um vetor NET eacute definido adicionando-se
ldquo[ ]rdquo na definiccedilatildeo do tipo O tamanho do vetor deve ser
definido na instanciaccedilatildeo do objeto
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Manipulando Exceccedilotildees
Todas as exceccedilotildees que possam ocorrer no acesso a
objetos NET satildeo tratadas internamente pelo Magic xpa e
natildeo satildeo propagadas (throw) para os programas
As funccedilotildees DNExceptionOccurred() e DNException()
permitem consultar o status do uacuteltimo acesso ao NET
realizado pelo Magic xpa Se DNExceptionOccurred()
retornar verdadeiro o uacuteltimo acesso gerou uma
exceccedilatildeo NET Neste caso podemos usar
DNException() para ter acesso a este objeto que
descreve a exceccedilatildeo
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Usando Coacutedigo NET
Aleacutem de manipular objetos NET nativamente nos
programas Magic xpa eacute possiacutevel tambeacutem escrever
trechos de coacutedigo NET diretamente em C ou VBNET e
utilizaacute-los Isso eacute feito atraveacutes do comando Invoke
NET
O coacutedigo escrito eacute compilado pelo NET CLR e o Magic
xpa Studio salva este coacutedigo como parte do programa
Durante a execuccedilatildeo o coacutedigo jaacute compilado eacute acionado
pelo Magic xpa Deployment
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Controles NET com ldquoDataView=Yesrdquo
Alguns controles NET possuem uma propriedade
chamada ldquoDataSourcerdquo que define a fonte dos dados a
serem apresentados
Se estes controles tiverem a sua propriedade DataView
definida como Yes o Magic xpa converte
automaticamente o DataView do programa em
DataSource NET para ser utilizado pelo controle
exige Preload View=Yes
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Controles NET com ldquoDataBindrdquo
Quando os controles NET possuem a regra de DataBind
definida alteraccedilotildees nas variaacuteveis Magic xpa satildeo
refletidas automaticamente no controle NET e vice-
versa alteraccedilotildees no controle NET se refletem na
variaacutevel Magic xpa
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Lidando com a interface IDisposable
Objetos NET que implementam a interface ldquoIDisposablerdquosinalizam que estatildeo trabalhando com recursos criacuteticos do sistema operacional e que devem ser liberados o mais raacutepido possiacutevel
Isso pode ser feito invocando-se o meacutetodo Dispose() do objeto instanciado
No Magic xpa isso tambeacutem deve ser realizado pelo desenvolvedor por exemplo na Task Suffix
Exemplo objeto FileStream
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Migrando Controles ActiveX
Controles ActiveX natildeo podem ser utilizados diretamente
em formulaacuterios de programas do Magic xpa porque
estes formulaacuterios satildeo do tipo NET
Estes controles precisam primeiro ser convertidos em
ldquoNET User Controlsrdquo
Isso eacute feito com o utilitaacuterio AxImp da MicroSoft
Aleacutem da biblioteca gerada durante a conversatildeo o
controle ActiveX ainda precisa estar instalado nas
maacutequinas
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr
Obrigado e ateacute o proacuteximo
httpmssmagicsoftwarecombr