Tuesday 8 August 2017

Delforexp Delphi 2010 Sistema


Estou tentando modificar meu código Delphi 2010 para compilar no XE7 (e quero manter a capacidade de compilá-lo em 2010). Então, na unidade que abriga meu formulário principal, adicionei diretivas condicionais. O seguinte funciona bem em 2010 Mas o XE7 adiciona automaticamente um System. Actions no final para criar uma cláusula de uso que agora possui System. Actions declarado duas vezes (veja abaixo) e dá uma mensagem de erro dcc32 Error MyForm. pas (10): E2004 Identificador redeclarado: System. Actions. Por que o XE7 não aceita a unidade dentro da diretiva condicional pedida 1 de outubro 14 às 23:31 O IDE doesn39t saber sobre o condicional define. Sabe apenas que você tem um determinado componente no formulário, e isso não pode encontrar essa unidade na cláusula uses, então ele adiciona. Como eu disse, a interface usa cláusula pertence ao IDE. você não. Se o componente estiver no formulário, o IDE assegurará que a unidade esteja diretamente incluída na cláusula de uso. I39ll repetir uma terceira vez para maior clareza: a interface usa uma cláusula em uma unidade relacionada à forma pertence ao IDE em relação a qualquer componente descartado em um formulário. Ndash Ken White 14 de outubro 14 às 0:01 Como Ken diz, a cláusula de uso da interface será modificada pelo IDE e os processos pelos quais isso é alcançado são um pouco menos do que sofisticados (como você descobriu). O mesmo problema afeta a cláusula de uso do projeto. Infelizmente, isso é muito mais difícil de evitar no caso de FormDataModule usar cláusulas. Você poderia usar um Alias ​​da Unidade (veja a resposta de David Heffernans), mas precisa estar ciente de que, se você criar um alias para uma unidade que o IDE deseja adicionar, o IDE ainda adicionará uma referência à unidade necessária, uma vez que não reconhece O alias como identificação da unidade necessária. Aliasing para a unidade do sistema irá evitar isso, uma vez que já é (implicitamente) usado por cada unidade. Outra alternativa é remover todos esses condicionais da sua lista de usos e, em vez disso, criar unidades de suporte do local, conforme necessário, para que os diferentes compiladores que você deseja usar no projeto possam ser satisfeitos pela lista de uso único combinada da lista que cada IDE insiste É necessário (o IDE não removerá unidades não utilizadas da lista de usos, algo que geralmente é uma queixa, mas neste caso realmente ajuda a resolver seu problema). Nesse caso, no seu projeto Delphi 2010, crie uma unidade de Ações vazia: você naturalmente precisará garantir que esta unidade não esteja no caminho do projeto para a versão XE7 do projeto. Uma maneira de conseguir isso seria garantir que a unidade vazia Actions. pas não esteja explicitamente listada na lista de usos do DPR, mas é colocada em uma subpasta da fonte do projeto (por exemplo, espaços reservados). Você pode então adicionar esta subpasta ao caminho de pesquisa do projeto para a versão Delphi 2010, mas não a versão XE7: se você achar que precisa de espaços reservados para cada uma das diferentes versões, você precisará de pastas de espaço reservado separadas. Você pode criar outras subpastas específicas da versão, por exemplo: Esse tipo de estrutura pode ser aconselhável simplesmente do ponto de vista da criação de uma organização de documentação automática. Observe que isso só é necessário para lidar com referências de unidades na cláusula de uso da seção de interface de Formulários (ou Frames, etc.). Em unidades não visuais ou na seção de implementação, o IDE não interfere, portanto, as diretrizes de compilação condicional não devem apresentar problemas. A maneira mais fácil de corrigir isso é adicionar um alias de unidade ao seu projeto Delphi 2010. Você precisará usar diferentes arquivos. dproj para suas diferentes versões do Delphi, mas você precisa fazer isso mesmo. Nas configurações de alias de unidade para o projeto Delphi 2010, adicione isso: Im usando o sistema como o alvo do alias porque a unidade do Sistema é automaticamente incluída em cada unidade Delphi e as inclusões aliadas também são benignas. É a maneira mais simples em que posso pensar para tornar o compilador efetivamente ignorar uma entrada em uma cláusula de uso. Então você pode declarar sua cláusula de uso como esta: Isso irá compilar bem no Delphi 2010, porque o processamento do alias irá mapear as Ações no Sistema. No XE7 você também está bem, porque não há alias e o IDE é satisfeito pela presença da unidade de ações e, portanto, não sente nenhuma compulsão para modificar a cláusula de uso. Leading IoT Application Development Conecte facilmente dispositivos e dispositivos do Internet of Things ao seu aplicativo Ou Enterprise. O RAD Studio permite aos desenvolvedores aproveitar o poder das soluções IoT (Internet of Things). Os desenvolvedores podem adicionar novos recursos às aplicações desktop e móveis existentes, integrando dispositivos, sensores, dados empresariais e serviços em nuvem. Mais e mais gadgets e dispositivos estão sendo adicionados ao ecossistema Internet de coisas todos os dias. A inter-conexão entre esses aparelhos e dispositivos tem potencial para criar experiências de usuário notáveis ​​e completamente novas que integram o ambiente físico. Construa aplicativos Hyper-connected e Flexible A funcionalidade de aplicativos empresariais existentes pode ser facilmente estendida para integrar dispositivos móveis, novos gadgets IoT e vários serviços back-end e bancos de dados. Nossa inovadora solução Live Bindings permite que você veja em tempo real como os dados fluem para seus formulários e aplicativos para uma velocidade e precisão sem precedentes de desenvolvimento. Você pode trocar serviços e plataformas de back-end com alto nível de flexibilidade sem novos investimentos dramáticos.

No comments:

Post a Comment