Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) RAD STUDIO 2010, Duvidas!


jaumDoDelphi

Pergunta

Ola amigos, estou utilizando o RAD STUDIO Delphi 2010 para estudo.

Estava verificando o arquivo compilado "EXE" no editor de texto NOTEPAD++ para ver porque ele ficou tão grande

comparado ao Delphi 7 q na epoca q eu fiz os cursos em 2002 os arquivos "EXE" tinha o tamanho de 300kb

já no Delphi 2010 ele tem 900kb.

E notei q há um codigo bem no final do arquivo, axo que esta em ASSEMBLY

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity

type="win32"

name="CodeGear RAD Studio"

version="12.3.4567.89010"

processorArchitecture="*"/>

<dependency>

<dependentAssembly>

<assemblyIdentity

type="win32"

name="Microsoft.Windows.Common-Controls"

version="6.0.0.0"

publicKeyToken="1234567894ddc2ab"

language="*"

processorArchitecture="*"/>

</dependentAssembly>

</dependency>

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">

<security>

<requestedPrivileges>

<requestedExecutionLevel

level="asInvoker"

uiAccess="false"/>

</requestedPrivileges>

</security>

</trustInfo>

</assembly>

1 - Para que serve este CODIGO FONTE?

2 - Porque o EXE do delphi2010 esta tão grande?

3 - Como minha licença TRIAL já vai expirar, gostaria de saber se LAZARUS e uma boa escolha?

orbigado a todos!

Editado por jaumDoDelphi
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

opa

1 - Para que serve este CODIGO FONTE?

Isto é um manifesto...

Ai você define propriedades como os privilegios que seu Software precisa no sistema, por exemplo, se necessita de privilégios administrativos...

<requestedExecutionLevel level="asInvoker" uiAccess="false"/>

Se você mudar o level para "requireAdministrator" seu programa vai ficar no icone aquele escudo do UAC do Vista/7 e quando executar vai pedir "elevação de usuário"... aquela janela chata que fica pedindo "Yes / No", "Allow / Not Allow", etc...

E outras propriedades... tambem não sei muito a respeito, mas o google deve saber se voce procurar por "manifesto" ou em ingles "application manifest"

Só tem funcionalidade no Windows Vista pra cima... vai ser muito útil futuramente... pode ver que envolve propriedades de Linguagem e tal, arquitetura do processador...

Vai ser muito util ainda, mas atualmente acredito que pra maioria não rs

2 - Porque o EXE do delphi2010 esta tão grande?

Porque o Delphi 2010 vem como padrão UNICODE e todos os outros Delphi vinha como padrão ANSI

O Windows desde versões acho que o XP ou até mesmo o 98 tinha suporte a UNICODE, por isso na API do Windows nós vemos tipo NomedaFuncaoW e NomedaFuncaoA

Isto quer dizer W = WideString (Unicode) e A = ANSI

Unicode é uma tabela de caracteres com suporte a idiomas asiaticos, tipo aquelas letras estranhas da Russia, China, Japão, Filipinas, Arábia, sabe?

Então, o que faz seu executavel ficar grande é que ANSI usa 1 byte por caracter e Unicode 2, resumindo, dobre o tamanho do Executavel na parte da Tabela de Caracteres

O Delphi 2010 não possibilita mudar pra ANSI e usa como padrão a API do Windows W como explicado acima

Por isso eu não uso o Delphi 2010, primeiro porque meu programa no máximo seria em Inglês e Inglês é ANSI, segundo porque meu programa jamais vai ter suporte a estas linguas e terceiro porque meu executavel fica muito grande, meu projeto em si pra ser mais sincero e quarto porque não tem como dar um switch pra ANSI rs

Isto é um dos motivos que muitos não estão adotando o Delphi 2010... acredito que por tantas reclamações, a proxima versão do Delphi vai ter alguma diretiva de compilação para deixar em modo ANSI...

Detalhe, passar códigos já antigos pra suporte Unicode não é nada fácil... Char tem que ser AnsiChar porque no 2010 é WideChar e da incompatibilidade... String tem que dar typecast maior rolo...

Ah só um detalhe... nem que seja milésimos de segundo, um executável em Unicode é mais rápido...

Porque o Windows a partir do Vista se não me engano, ou XP não sei, processa em Unicode e quando é ANSI ele faz o seguinte

ANSI

EXE ---> Função ANSI ---> Transforma pra Unicode ---> Processa como Unicode ---> Volta pra ANSI ---> EXE

Unicode

EXE ---> Função Unicode ---> Processa ---> EXE

Little bit more fast :)

3 - Como minha licença TRIAL já vai expirar, gostaria de saber se LAZARUS e uma boa escolha?

Depende, Lazarus é bom se voce não precisa de muita coisa tipo, componentes avançados que normalmente não existem para Lazarus...

Se seu software é coisa tranquila tipo Banco de Dados e tal, coisas do tipo, teste o Lazarus porque eu testei e é praticamente um Delphi...

Só como falei mesmo, componentes especificos não acha pra ele, mas acha "paralelo"

Editado por Churc
Link para o comentário
Compartilhar em outros sites

  • 0

ola Churc, gostei muito da sua explicação!

Esta bem detalhada.

1 - Então aquele codigo no final do aplicativo serve para as diretivas do VISTA/7

estou programando no meu notebook com o windows VISTA x86 por isso realmente é muito importante as funções do UAC.

O PC de casa esta com o Win7 home premium x64, e os da empresa esta com winXP x86, o meu programa é bem simples dai roda bem nos 3 sistemas OS.

2 - A Churc, isso explica o tamanho dos aplicativos no Delphi2010, um exemplo e alguns programas que eu fiz em 2002 no delphi7. viajei a China para fechar alguns contratos quando execultava ele em windows XP Chines as palavras com "Execução" exibia "Execu*$%o" etc... apareciam ideogramas Chinesses. quando eu voltei para China semana passada os programa compilados em Delphi 2010, aparecem as letras normais.

3 - Realmente acho q vou tentar utilizar o LAZARUS, meus programa são bem simples Utilizo 3 que fiz a varios anos atraz e hj voltei a programa porque estou com 1 tempinho livre. Os programas. Agenda Telefonica e Compromisso, Cadastro de DVDs e um programa simples de criptografia de TEXTO.

com banco de dados MS ACCESS nada muito complicado como SQL ou INTERBASE que necessitam de servidores.

Realmente agradeço muito pela sua Explicação! obrigado Churc e a todos!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...