Tuesday 15 August 2017

Delforex delphi2007


Formato do Código JEDI O que faz O formatador pode padronizar todos os aspectos da formatação do código fonte Pascal do Delphi Object, incluindo indentação, espaçamento e capitalização. Se você ainda não tiver certeza, consulte os exemplos de entrada e saída do programa. Ele funciona em Delphi e Delphi. NET sintaxe. Por que usar um formatador de código É útil se você está tomando sobre o código e não gosto da formatação original. É útil se você estiver tentando trazer código de várias fontes para um padrão. Um ser humano sempre pode produzir melhor formatação do que um programa, mas em muitos casos eles não. Se você encontrar um pedaço de códigos de formatação irritante ou difícil de ler, este programa pode poupar muito tempo. Em seu próprio código, ele pode pegar seus erros, e até mesmo automatizar algumas tarefas mundanas que podem ter incomodado você, mas você havent incomodado com até agora (por exemplo, para virar guias para espaços, padronizar recuo, espaçamento e capitalização, mudar globalmente uma variável ou procedimento Nome, remover globalmente a unidade redundante de todas as cláusulas de uso, ou mesmo inserir o comentário da licença MPL em todas as unidades). Como devo formatar meus programas Delphi Você deve formatar seus programas Delphi de acordo com as configurações padrão deste programa, ou seja, como Borland sugere. Licença e isenção de responsabilidade: Este programa é gratuito e de código aberto. A partir da versão 2.37, o JCF está disponível em uma licença dupla - Mozilla Public License (MPL) 1.1, ou GPL 2.0 ou posterior. A licença original era a MPL - eu escolhi a licença de código aberto particular MPL por sugestão do grupo Delphi-JEDI. A GPL foi adicionada a pedido dos membros do projecto Lararus. Que usam esta licença, e que gostaria de link no código JCF. Se você melhorar este programa de qualquer maneira (correção de bugs, novo recurso, melhor algoritmo, qualquer), eu agradeceria se você enviar essas melhorias de volta para mim para possível inclusão em uma versão futura. Disclaimer: Este programa pode ter bugs ou ainda não cumprir plenamente os seus objectivos de design. Embora tenha sido bastante bem testado e é usado com algum sucesso, eu não posso fazer quaisquer garantias. Se você se preocupa com a qualidade deste programa, envie relatórios de bugs. Eu recomendo usar um sistema de controle de origem, como o Subversion. Microsoft TFS. CVS. TeamSource ou semelhante. Lembre-se de controle de origem é como flossing - você não tem a fio dental todos os seus dentes - apenas aqueles que você deseja manter. Se você ainda não estiver usando essa ferramenta, faça backups antes de usar o formatador. Como instalar Esta versão é descarregável como fonte ou como executável. Instale os executáveis ​​da seguinte maneira: Baixe os programas executáveis. E unzip para um diretório adequado. Coloque o arquivo JCF2Settings. cfg no diretório do Windows. Execute o gui JcfNotepad. exe para experimentar arquivos. Execute o programa GUI JcfGui. exe para formatar arquivos do gui - isso é bom quando você tem um diretório ou árvore de diretório de arquivos Delphi que você deseja formatar. Execute o programa de linha de comando jcf. exe se você estiver fazendo um arquivo em lotes ou se você for masoquista. Use o plug-in IDE para formatar arquivos ou projetos enquanto estiver trabalhando no IDE do Delphi. O plugin Delphi IDE pode ser instalado para o Delphi 7 da seguinte forma. Todos os pacotes podem ser instalados selecionando o item de menu ComponentInstall e clicando no botão Adicionar. Instale o pacote de tempo de design JCL no Delphi. Instale os controles de tempo de design JVCL em Delphi. Instale o JcfIde7.bpl Leia as instruções de uso do plugin JCF IDE. Instale a origem da seguinte maneira: Obtenha a biblioteca de códigos JCL. Instale os pacotes de tempo de design. Faça o download, crie e instale os componentes JVCL. Para o arnês de teste, você também precisará DUnit. Faça o download da fonte. E unzip para um diretório adequado. Iniciar o Delphi. Abra o grupo de programas de formatador de código em JediCodeFormat. bpg Compile e execute. Tome cuidado, divirta-se. Coisas que podem dar errado com a compilação: O projeto TestProject. dpr é aberto por padrão, e este projeto está cheio de avisos. Lembre-se que é apenas código de teste para o formatador para trabalhar, e não se destina a ser executado. A Delphi abre o último projeto em um grupo automaticamente, e eu gostaria que a Borland mudasse isso. TestProject é o menos importante dos projetos. Use o item de menu ViewProject Manager e abra o primeiro projeto, JediCodeFormat. dpr em vez disso. Alguns arquivos não podem ser encontrados (você receberá um erro como Erro fatal JediCodeFormat. dpr (142): Arquivo não encontrado: JclStrings. dcu Os arquivos JCF e JediComponents arquivos não estão incluídos neste arquivo zip. Você pode tê-los colocado em um Diferente no seu disco rígido. Modificar os caminhos nos arquivos JediCodeFormat. dpr, Jcf. dpr e Jcfide. dpk. Os arquivos são marcados como somente leitura. Esta é a maneira que eles saem do sistema de controle de origem. Você pode O diretório de saída não é encontrado. Eu gosto de configurar o Delphi para gravar os arquivos. dcu e executáveis ​​para um diretório de saída. Naturalmente, ao distribuir a fonte, este diretório está vazio. O WinZip doesnt armazenar diretórios vazios, por isso pode Não existe depois de descompactar. Às vezes eu me lembro de colocar um arquivo fictício chamado Delme. tmp neste diretório. Se você ver que o arquivo, ele já serviu a sua finalidade e pode ser removido. Faça um diretório de saída em seu diretório CodeFormat, ou limpar (Ou alterar) essa configuração nas configurações Delphis ProjectOptionsDirectories / Condicionais. Jdfide. dpk dá um monte de avisos sobre unidades implicitamente importadas. Sim. Isso não é sério. Todos os projetos, exceto o primeiro, não serão compilados em todos os arquivos, por causa dos arquivos que não forem encontrados, e esses arquivos são parte do JCF. Certifique-se de que você tem um diretório de saída e que ele contém os arquivos DCU e que está no caminho de pesquisa de projetos. Ao compilar todos os projetos, faça um Build all não um Compile all, pois há um pequeno bit de código atrás de macros IFDEF para tornar o plugin IDE diferente para o executável GUI. A compilação sem reconstruir não é sensível ao fato de que essas unidades precisam ser recompiladas devido ao projeto alterado define. Como denunciar um bug Informe o bug aqui. Envie um caso de teste e (opcionalmente) uma correção para a fonte, e me diga qual dessas categorias, ordenadas por gravidade, que você acha que o bug cai em: Erro de programa: O programa falha (violação de acesso, falha asserção, etc) Ou abortar quando dado o seu caso de teste. Saída incorreta: O programa fornece uma saída que não compila quando é dado o seu caso de teste. Lousy formatação: A saída compila mas parece ruim. Dê um exemplo de código de entrada mal formatado e, de preferência, uma correção. Formatação não-padrão: A saída é legível, mas não está em conformidade com as normas acordadas. Dê um exemplo com o seu caso de teste do que você acha que a saída deve ser, e de preferência uma correção. Opção ausente: A formatação que você deseja não é padrão, mas é como você faz isso eo formatador não o suporta. Se você não der uma correção que adiciona sua opção favorita, dê um exemplo com o seu caso de teste do que você acha que a saída deve ser. O que fazer se você não gosta deste programa Breath. Acalme-se. Lembre-se que eu estou oferecendo este programa gratuito e sem quaisquer garantias. Lembre-se que eu não forçá-lo a usá-lo. Lembre-se que eu sugeri fortemente que você faça backups. Sugestões construtivas, especialmente aquelas com código, serão gentilmente tratadas. Chamas serão excluídas. I havent teve qualquer chamas ainda para este programa, e Id gostaria de mantê-lo dessa forma. Onde está o programa indo Este programa é principalmente em modo de manutenção agora - corrigir bugs, controlar as alterações nas versões Delphi e sintaxe da linguagem, e lançar uma atualização a cada mês ou dois. O objetivo para a Versão 2.0 é que o programa não deve ter bugs e gerar saída compatível com padrões oficiais de formatação de código (e ter opções para outros estilos). Deve permitir que o usuário configure qualquer coisa que necessite ser configurado, e não deve sobrecarregar o usuário com opções inúteis. Deve também ter, por ordem de prioridade: fonte legível, uma arquitetura facilmente extensível e bem documentada, e deve funcionar com rapidez suficiente. Posso me envolver? Sim, por favor. Reportar um erro. Solicitar um recurso. Baixe a origem, compile-a e corrija um bug ou adicione um recurso. Se sua adição é boa, ela será incluída na próxima versão e seu nome será listado. Se você quiser ser adicionado à lista de desenvolvedores do projeto Sourceforge, faça isso primeiro e depois fale bem. Eu não estou interessado em adicionar pessoas a lista de desenvolvedores de projetos apenas porque eles querem o status de estar lá. Estou interessado em dar esse status a pessoas que provaram que podem e acrescentam algo de valor. Eu sou um bocado cético de entusiasmos verbais selvagens. Para parafrasear Bruce Sterling, ele não tem entusiasmo jovem, é preciso persistência de meia-idade. No entanto, tenha em mente que este é software de código aberto. Se você quiser jogar com o código, avance em sua própria direção ou apenas ou role sua própria versão do JCF, vá em frente. O que outros Delphi código formatadores existem Pascal travessão é um Pascal e Delphi formatador escrito (em C) por Ladislav Sobr. Ele também pode gerar HTML ou TeX saída de Pascal ou fonte Delphi. O Free Pascal Compiler está disponível sob a licença GPL e inclui um formatador de código Object-Pascal chamado PTOP. DelForExp é um livre (mas não fonte) Delphi source formatter por Egbert van Nes O Source Normalizer custa 47. Eu não sei nada sobre ele, exceto o que está nas páginas da web CocolCloak é um programa bastante equivocada que só pode ofuscar código fonte delphi. Quando a versão 1 é lançada, ela vai custar 150. É uma nova maneira de proteger seus produtos e código-fonte de roubo e engenharia reversa. Eu prefiro MPL a fonte. O FAQ parece implicar que ele mesmo ofuscará nomes de variáveis. Que desperdício de esforço sem sentido. SourceCoder é uma ferramenta de código fonte extensa que faz formatação de código como uma de suas funções. Custa 89, mas há uma versão de teste gratuita que funciona por 50 dias. Que outras ferramentas de código Delphi existem Você pode procurar ferramentas de código Delphi no projeto de círculo interno. Você pode procurar as traduções da API, biblioteca de código e componentes no Joint Endeavor da Delphi Innovators (projeto JEDI). GExperts é ferramentas de programação Open Source para Delphi e C builder. Não só eles são boas ferramentas, a fonte é bons exemplos sobre como fazer esse tipo de coisa. Existem vários sites que atuam como clearing-houses para Delphi shareware, componentes e código livre. O JCF só funciona no código Delphi Sim, ele é projetado com apenas Delphi em mente. No entanto, pode trabalhar em outros dialetos de Pascal. Eu não tenho nenhuma maneira de testar isso como eu só uso Delphi, mas se você tiver alguma sorte, me avise. Se você quiser que o JCF suporte um elemento de sintaxe de outro dialeto de Pascal, envie-me uma amostra de código por favor. Para outras linguagens como C, Java e assim por diante - faça uma pesquisa na web e provavelmente encontrará uma seleção de ferramentas. Eu tenho sido por algum tempo liberando experimental GExperts versões que incluem o formatador de código anteriormente conhecido como DelForEx com algumas melhorias e correções. A versão mais recente é de 2008-12-26 e suporta as seguintes versões Delphi: Delphi 6 a 7 Delphi 2005 a 2010 Delphi XE Delphi XE2 para XE7 Por favor, note que eu estou usando apenas com Delphi 2007, então as outras versões Pode ter erros desconhecidos. Além disso, nem todas as melhorias de idioma de versões posteriores do Delphi funcionarão, p. Tipos aninhados, genéricos e métodos anônimos. Btw: Qualquer ajuda melhorar o formatador, especialmente adicionando as novas linguagens construções seria apreciada. O código fonte pode ser baixado do repositório subversion vinculado a partir da minha página inicial. A versão TWM do GExperts funciona bem e está bem integrada no IDE. Ele permite que você escreva e modifique seu código sem se preocupar muito com a formatação exata, basta acertar a tecla de acesso atribuída e ele imediatamente reformata. Eu sempre achei fácil de configurar para combinar com o estilo que eu prefiro, e não tão complexo como JEDI Code Format, que parecia ser um exagero para mim. A versão Delphi 2009 está agora disponível a partir do link postado acima, embora baseado em uma versão beta do GExperts. No entanto, ainda é muito o mesmo formatador embaixo, e não tem conhecimento da sintaxe de algumas das melhorias mais recentes do Delphi. Respondeu 31 de dezembro 08 às 12: 19No meu último post sobre por que você realmente deve atualizar do Delphi 7. Parece que ter chateado um número de pessoas. Alguns estavam muito zangados, outros moderados. Alguns eram eloqüentes. A maioria deles estava errada. Alguns dos comentários recebidos eu realmente deveria reagir, mas acho que o volume justifica um post de acompanhamento. Este post feito, vou tirar a minha cabeça do ninho de vespas e deixar Delphi 7 desenvolvedores sozinho. Pelo menos por um tempo. Atualização. Eu realmente quis deixar este tópico sozinho, mas apenas dias depois de eu ter publicado isso, o hype do Delphi 2010 começou com toda a seriedade. Eu não participei da versão beta desta vez, então eu não sabia de algumas das coisas novas saindo. Alguns pertenciam a este post, assim I8217ve adicionado alguns comentários extra. Além disso, eu precisava corrigir / esclarecer alguns thngs. O material azul será a minha última atualização para este post. A primeira coisa que eu deveria esclarecer. É que eu não trabalho para Embarcadero / CodeGear / Borland e nunca ter. Na verdade, se você google me, youre obrigado a se deparar com uma série de casos em que eu tive um verdadeiro ir para eles. Às vezes sobre a documentação, às vezes sobre relatórios da qualidade central com toda a informação exigida que permanece aberta, às vezes sobre I-dont-remember-what. Eu escrevi o post por minha própria vontade, porque eu achava que precisava ser dito. A única queixa que alguns comentadores levantaram, é a de documentação. Aqui eu tenho que dizer, eles têm um ponto. Por um bom tempo eu realmente tinha o Delphi 7 arquivos de ajuda na mão na minha máquina de desenvolvimento e há um especialista IDE que você pode baixar que permitirá que você use o Delphi 7 ajuda arquivos diretamente do IDE mais recente. Os novos arquivos de ajuda também estão disponíveis on-line. E eu acho que o Google é muitas vezes melhor em encontrar coisas que qualquer tabela de conteúdo é. Falando do IDE, eu notei um padrão nos comentários. Aqueles que não usam o novo IDE, odeia. Isso me lembra uma história que meu sogro certa vez me disse. Seu avô nunca andou em um carro uma vez. E suportou-o por aproximadamente cinco minutos antes que exijisse para ser deixado para fora. A razão O carro era barulhento e andando é menos acidentado em estradas irregulares. Tão longas distâncias ele cobriu com a bicicleta e mais curtas distâncias ele andou. Se você realmente não pode suportar o novo IDE, há três coisas que você precisa: O especialista em IDE para os arquivos de ajuda antigos DDevExtentions tem um monte de coisas legais nele. A única característica que não é cool é a paleta de componentes de estilo antigo. Se você odeia o novo, use isso. Update: E o Delphi 2010 inclui uma nova versão, significativamente atualizada, da paleta. Então, quando os navios, você finalmente tem uma escolha de qual usar. Isso deve colocar o debate para descansar, embora eu tenha a sensação de que o novo e muito brilhante recurso IDE insight pode ultrapassar tanto a paleta ea caixa de ferramentas. Pelo menos para mim. Desembale as janelas IDE, para que você possa ter o antigo layout caótico que você ama. Estas parecem ser as principais coisas que as pessoas odeiam sobre o novo IDE, e eles são todos perfeitamente resolúvel (quebrável). E nem tente me dizer o quão lento o novo IDE é graças ao. NET que inicia um helluvalot mais rápido do que Delphi 7 já fez se você lançar a personalidade Delphi só. A próxima grande queixa é que as ferramentas de terceiros podem lhe dar muito da mesma funcionalidade. Algumas pequenas questões com que. Aqui é um smorgasbord das ferramentas de terceiros que foram mencionados eu não acho que perdi nenhum, mas você é bem-vindo para verificar que eu didnt batota: GExperts é fantástico, mas não foi atualizado em todos desde 30 de outubro de 2008. Isso é quase um Ano, pessoal. E aqueles onde a compatibilidade eo primeiro novo especialista por um tempo. Um rápido olhar para o registro de mudanças mostra que a última versão significativa (1.3) saiu quase quatro anos atrás. Você está certo, absolutamente o tipo de coisa que você deve depender de uma ferramenta com muito pouco apoio ou progresso em quatro anos. Atualização: Eu don8217t pessoalmente uso GExperts mais, em parte porque um monte de seus melhores recursos estão incluídos no IDE mais recente. Mas muitas pessoas ainda recebem muito valor dele e é claro disponível para Delphi 2009. O ponto aqui foi que 8220I uso GExperts8221 fazer uma desculpa ruim para não atualizar. Além disso, I8217m disse que o apoio é realmente muito notável. Mas fica pior. Alguém realmente mencionou Negrito. Observe que eu não link o URL, porque BoldSoft doesnt parecem mesmo tê-lo listado em seu site mais. Na verdade o último link relevante que eu poderia encontrar era este. Onde se explica que o desenvolvimento parou em 2002 já sei que pode ter sido valioso quando você ainda vivia com sua mãe (ou tinha dentes de leite), mas a sua dependência contínua de um produto extinto é muito perigoso. Code Rush é fabuloso, como é quase qualquer coisa de DevExpress. Como com quase qualquer coisa de DevExpress é também fabulosamente caro. E só melhora o editor. E eu mencionei que a versão do Delphi está extinta. Ou talvez seja um erro de digitação no site. Mas é descrito como um poderoso Visual Studio. NET add-on que blá blá blá. Eu tenho honestamente nunca ouvi falar de cnPack antes. Ele foi realmente atualizado nos últimos dois meses e pode muito bem ser enormemente capaz eu não sei. Eu suspeito que pode ser um pouco datado embora, dado que eles ainda link você através de bdn. borland. Surpreendentemente, esse link ainda funciona, embora talvez alguém deve notificá-los Borland já não tem nada a ver com Delphi e pode, de facto, agora têm uma preferência para Cobol. Pensando bem, basta deixá-lo. Talvez eles estejam felizes dessa maneira. JCL. OK, primeiro: Eu não gosto JCL, mesmo que muitas outras pessoas fazem. Mas você sabe que está disponível para Delphi 2009, não você ModelMaker Code Explorer. Também disponível para Delphi 2009. O terceiro problema é sobre os novos recursos. Aparentemente, os auxiliares de classe não estão totalmente documentados porque eles não são projetados para ser usado em suas aplicações e também a documentação que existe para eles especificamente afirma que eles não são destinados para uso geral. Uh-huh Vamos verificar a documentação. A intenção inicial do recurso de linguagem era fornecer compatibilidade entre Delphi Win32 e Delphi. NET. Eles fizeram isso, fornecendo suporte de linguagem para o padrão Decorador. A noção de que os ajudantes de classe não devem ser usados ​​desapareceram juntamente com outras relíquias como a crença de que as funções sobrecarregadas são muito perigosas para serem permitidas na linguagem. Atualização: Sim, estou ciente de que o link fornecido ainda menciona que ele foi criado para plataforma RTL vinculativo e não deve ser usado em projetos gerais. Três pontos aqui: Primeiro, é documentado muito bem. Em segundo lugar, eu nunca disse que é a maneira perfeita para estender as classes que você pode modificar. Você simplesmente wouldn8217 usá-lo no lugar de herança ou simplesmente adicionando o que você quer. É uma técnica para estender classes que você não pode modificar. I8217ll postar um mais sobre isso uma vez que o Delphi 2010 hype máquina tem acalmou um pouco. Em terceiro lugar, o texto de entrada de ajuda data de pelo menos Delphi 2005 e foi substituído por este famoso post que mostra que mesmo dentro CodeGear / Embarcadero a opinião mudou. Delphi 20078217s A propriedade GlassFrame é de fato um exemplo fantástico de um caso de uso comum para ajudantes de classe. E seu uso não tinha nada a ver com a compatibilidade de runtime do. NET. E algumas queixas sobre o quão mal genéricos funcionam. Engraçado, eu usá-los sempre que fazem sentido e tiveram apenas um problema real com eles e que é um bug compilador não relacionados a genéricos. Talvez alguém gostaria de verificar se o bug existe no Delphi 7 Por fim, algumas pessoas se queixam de coisas como seqüências de caracteres em declarações de caso. O que é claro que você tinha no Delphi 7. Errr esperar, há algo errado com essa última frase. O mesmo se aplica às queixas sobre os recursos do Delphi 2009 que não estão tão bem implementados como no Visual Studio. Se Delphi 7 didnt tê-los, o argumento é falho. Lotes de comentários positivos também, o melhor de que destacou vários grandes benefícios que eu nem sequer pensar. Dê uma versão mais recente das versões do Delphi. Não por um dia, mas para o próximo projeto real que você ataca. Aposto que você vai aprender a gostar muito rapidamente. Atualização. Mudou o final, porque um dos cartazes (muito bem) tomou questão com ele. Mas tenha cuidado ao usar vários monitores. A posição do formulário é relativa à área de trabalho 0, 0 posição do monitor mais à esquerda, em vez de monitorar it8217s. Delphi 7 usado para falhar na saída cada vez que desligar. Eu nunca descobri o porquê. Acho que deve ter sido uma biblioteca de componentes. Mas ainda. Não era perfeito. Usando Delphi 2007 para os últimos dias, I8217ve foi completamente espantado pela distância até Delphi 2009 veio de 2007, que foi pelo menos útil, e 2006 e 2005, que foram porcaria. Eu acredito que é a síndrome de 200x. Aqueles que seguem com Delphi 7 ou (a) tentaram uma versão 2005/2006 eles mesmos, ou (b) escutaram o fest da cadela que aconteceu nos grupos de discussão de Bor8230 Dev8230 CG8230 e decidiram-se ajustar dentro. Uma vez que se estabeleceram dentro, eles ain8217t que balançam . Afinal, você pode corrigir seu código-fonte VCL para lidar com alguns dos piores problemas. Você pode trabalhar em torno de questões Z-Order, e todas as coisas Vista, com alguns magistral (ou seja, feio) hackery. Se você é pago para escrever código Delphi, ou você escreve código Delphi para contratar, você está aleijando-se se você não aprende Delphi 2009 agora. A transição de 2009 para 2010 provavelmente será trivial, porque não há mudanças tão grandes quanto a mudança para Unicode foi em 2009. Espero que 2010 será o melhor delphi ainda. Acredito que a equipe que fez 2009 continuará a oferecer excelente qualidade na próxima versão. Neste segundo Delphi 2009 é amplamente aceito por aqueles que realmente tentaram, como o melhor Delphi nunca. Quanto àqueles que tomam a opinião daqueles que nunca o tentaram seriamente8230. Bem. Eu só me sinto bem que eu don8217t trabalho para uma empresa que lhes deu qualquer dinheiro para escrever-me um aplicativo Delphi. CnPack é liso, pelo caminho. Eu tentei. E don8217t slam gExperts apenas porque it8217s um produto estável, it8217s open source. Se você quiser aprender a escrever extensões IDE OpenTools Api, it8217s um grupo inestimável de ferramentas de código de inicialização. Existem alguns fracassos entre os gExperts conjunto de ferramentas, e algumas coisas pouco doce também. Você sabe mais uma coisa que eu iria porcas sem se eu voltasse a 7 Delphi 2007/2009 tem uma coisa no menu Refactor que irá 8220 encontrar a unidade que é declarado in8221. Quão acessível é que me salva um monte de inútil FindInFiles busca-a-thons. Adoro este comentário. Bem dito. Depois de unistaling GExpert e começar a usar CnPack meu Delphi didn8217t falhar na saída. Concordo com os comentários do Xepol8217s. Eu uso Delphi 2007 e Delphi 7 apenas ocasionalmente agora, mas eu prefiro usar o IDE antigo. Eu uso o novo na maioria das vezes e é como uma lufada de ar fresco se eu começar a voltar para o velho de vez em quando. Ele tem arquivos de ajuda que são úteis, em vez de articially gerado estupidez, e tem um layout que é legal, organizado e funtional. It8217s como o velho hortelã de geleira anunciam 8211 você provavelmente won8217t o viu mas velho Delphi 7 é como o urso polar fresco contra o que é como a raposa, correndo em todas as direções. Ambos são muito úteis. Acabei de atualizar porque eu pensei que estava indo para manter-se com 8220whatever8221, mas realmente it8217s não fazer muito para mim nesse sentido. Não vejo por que devo gastar mais dinheiro agora para ter um grande problema com todas as cordas e para o que não vou vender programas na China. Concordo com Warren que os entre Delphi 7 e Delphi 2007 foram desastres e eu realmente gostaria que eu poderia ter o dinheiro de volta que eu desperdicei neles. Sim. É por isso que eu tomo um monte de convincente para comprar qualquer novos lançamentos. Eu comprei praticamente tudo desde a versão 1, mas eu tenho que olhar seriamente agora completamente indo longe de Delphi. I8217d odeio, mas só por causa de Object Pascal 8211 o resto do mallarkey que eu posso tomar ou deixar e os arquivos de ajuda recente eu posso definitivamente sair. Gtgt Mas talvez o melhor dos comentários pró-Delphi 7 foi o que gtgtstated, Depois de muitos, muitos anos de usar o Delphi 7 IDE por que nós gtgtwant para reaprender algo novo. GtgtHell, se apenas todos os programadores estavam com medo de mudança que poderia todos ainda gtgtbe bitching sobre socos Você pede comentários. Dei-lhe os meus comentários. Agora você quer apontar-me para fora e zombar de mim em seu BLOG. Isso é bom. Você tem um monte de comentários negativos, provavelmente mais do que os positivos, tenho certeza. O que eu estava ficando, era que somos muito produtivos com Delphi 7 e temos muitos clientes e ganhando mais todos os dias. Não só isso, nossos clientes existentes estão solicitando mais trabalho personalizado. Nós temos um pequeno número de programadores em nossa equipe, e nenhum deles tem tempo para gastar em aprender um IDE totalmente novo. Não havia nenhuma razão para mudar o IDE8230it doesn8217t acelerar as coisas, ele diminui as coisas quando você tem que reaprender. Eu adoro a idéia de que aceleraram o compilador e adicionaram muitos recursos de linguagem, melhoraram a ajuda, etc. inferno, eles poderiam ter feito tudo isso e ter deixado o IDE sozinho. Além de que 8211 seu asshole um lugar que no seu blog. OK, talvez eu estivesse um pouco franco. Me desculpe por isso. Mas eu sinceramente acho que a curva de aprendizado é tão grande. A maioria das coisas que você está procurando é exatamente onde você espera. OK, Shane. Eu mudei o final do post para remover o bit ofensivo. Desculpe de novo. Além disso, como sugerido, eu atualizei o post para refletir que eu sou um idiota. Eu duvido que muitas pessoas estavam legitimamente zangadas ou chateadas. Apenas alto e opinativo, que não é a mesma coisa. Além de DDevExtentions, gostaria de acrescentar quase qualquer um dos Andreas8217 correções e melhorias (lado esquerdo da página). Mais boas notícias. Andreas tem trabalhado com a equipe de Delphi para incluir alguns deles em novas versões do Delphi. Sweet One ferramenta que wouldn8217t mente em Delphi é um formatador de código. Se você está usando GExperts e está se sentindo aventuroso, existe um plug-in experimental para isso baseado no DelForEx. Didn8217t Nick demo um formatador no Delphi Live E um par de outros ajustes interessantes Eu don8217t acho que há realmente boas razões para não atualizar para D2009 (embora eu confesso I8217m ainda. Mesmo se você está faltando o código fonte e só tem. dcu8217s que poderia ser Válido 8211 no entanto, neste caso, eles provavelmente têm problemas maiores do que um IDE ultrapassado Hey, o autor do Total Commander ainda usar Delphi 2 Let8217s seguir seu exemplo, c8217mon Pode alguém de Delphi 7 amantes podem me dizer, por que eles usam D7 e não D5 Ou D3 8220Why que queremos reaprender algo novo. Se você diz 8220It8217s porque D7 tem mais recursos do que D3 / D78221, então what8217s errado com D2007 / 2009 Ele tem um helluvalot mais recursos. Agora, o top-mais-brilhante-novos recursos Mas o recurso mais antigo é, mais confiável fica e D7 é buggy também. Se você diz 8220It8217s porque D7 é mais rápido do que D3 / D58221. That8217s simples não é verdade. E D2007 / D2009 é mais rápido do que D7. Dizer 8220It8217s porque D7 é mais estável do que D3 / D58221. Isso também não é verdade. E D2007 / D2009 é mais estável do que D7. Ah, e se a razão para ficar com D7 é 8220It8217s porque D7 tem IDE de estilo antigo e palette8221. Por que don8217t você usa D2 Seu IDE e paleta são mesmo 8220older8221. Novo IDE tem 8220Classic8221 layout 8211 que se parece com o antigo IDE. O problema é aqui por padrão. É tão difícil selecionar outro valor do ComboBox O que é tão novo e não tão bem conhecido Você quis seriamente viver uma vida sem necessidade de aprender Por favor, don8217t acho que D2007 / D2009 tem a mesma qualidade de D2005 Apenas os problemas reais são ajuda (pessoalmente, eu uso ajuda rara em tudo) e buggy novos recursos (genéricos 8211 muito ruim, eu quero isso). Mas eles ficam melhores e melhores com o tempo. P. S. Não, eu ain8217t disse todas essas coisas por causa de 8220 O fato de que ainda pop-up por que você deve atualizar a partir de D7 artigos aqui e ali demonstra que havia problemas reais com as últimas versões do Delphi8221, mas porque stick-to-D7 razões soa muito Engraçado para mim (desculpe, pessoal, sem ofensa) Você está certo sobre GExperts, não mudou muito nos últimos anos, além de: torná-lo unicode bugfixing ciente adicionando o formatador de código fonte experimental baseado no DelForEx (que ainda não faz parte Da versão oficial, porque Eric e eu não considero aceitável) Mas é errado dizer que está morto por causa disso. Houve uma nova versão compatível com cada nova versão do Delphi, hasn8217t lá Problema é, que aparentemente não muitas pessoas estão interessadas em adicionar novos recursos. Isso pode ter algo a ver com o declínio de Delphi no mundo ocidental. Como para cnexperts, ele era originalmente um ripoff de GExperts, mesmo roubando o código. Ele tem percorreu um longo caminho de lá com novos recursos, mas devo admitir que haven8217t usado em tudo. Obrigado por mencionar minha ajuda do Delphi 7 para a utilidade BDS, pelo caminho. Talvez that8217s algo que eu deveria apenas ter adicionado a GExperts8230 Há outra ferramenta muito útil para a ajuda on-line. It8217s chamado 8220Delphi Praxis Ajuda Booster8221 (delphipraxis. net/helpbooster. phplngen) e dá-lhe acesso muito rápido à Delphi 20078217s ajuda online, infelizmente não há Delphi versão 2009 e uma vez que o código fonte não está disponível, não há muita esperança lá nunca vontade. Eu não concordo com a sua noção, que Delphi 2009 começa mais rápido do que Delphi 7. No meu computador, Delphi 7 é definitivamente mais rápido. Com Delphi 2007 eu don8217t mesmo quero considerar o uso sem DelphiSpeedUp Andy8217s, que também está disponível para Delphi 7 btw. Tudo o que disse, eu estou usando o Delphi 2007 (e Borland Pascal recentemente, você acreditaria nisso) e adoraria atualizar para Delphi 2009 (eu já comprei), mas não pode dar ao luxo de tempo para fazer todas as pequenas mudanças para fazer todos os meus (Empregador8217s) programas de legado compilar e trabalhar com ele. Mas é definitivamente na lista de tarefas. (Reposted porque o original aparentemente comido por algum bug no sistema de comentário) Thomas, eu don8217t tem um problema com GExperts. Eu don8217t usá-lo mais, mas há provavelmente milhares de programadores que amam. O ponto na postagem do blog é que eu acho que 8220GExperts oferecer algumas das funcionalidades do novo IDE8221 é um péssimo argumento contra a atualização. Há sempre ferramentas de terceiros que você pode usar para fornecer um pouco aqui e um pouco lá. Simplesmente não é a mesma coisa. E por falar nisso, você tocou em um bom ponto, talvez alguns dos milhares de programadores que acham valioso devem começar a contribuir. Dessa forma eles podem ajudar a mantê-lo fresco. 1) Eu sabia que você não trabalhava para Codegear, mas tal artigo seguem de perto os padrões de Hodges amp C. 8211 e pelo menos eles têm uma razão, o dinheiro What8217s seu Medo de Delphi desaparecendo por causa da falta de clientes Então temos de enfrentar as questões reais e percebidos , Não basta seguir padrões Codegear. Eles fizeram erros seversl e eles têm que consertá-los (eles fixaram apenas alguns), fingindo que nada aconteceu e culpar os clientes porque eles são idiotas que don8217t entender 8221 é realmente bobo. Isso é o que uma empresa nunca deve fazer. E aqueles que seguem a ajuda do don8217t em tudo. Nós atualizamos, mas eu posso entender aqueles que didn8217t porque o valor percebido do upgrade foi muito baixo. 2) 8220 que não usam o novo IDE, odeia it8221. Totalmente falso. Eu estou realmente trabalhando com 2007 desde o seu lançamento. Antes de eu trabalhar com 2006 (eu tentei usar 2005, mas couldn8217t fazê-lo funcionar8230). Eu não gosto do novo IDE, mesmo se eu usá-lo todos os dias. 3) 8220Desligue as janelas IDE, para que você possa ter o antigo layout caótico que você love8221. Você verificou VS2010 Ele permite que você desacoplar janelas, ou seja .. para tirar proveito de vários monitores8230 acreditar em mim, o 8220old caótico layout8221 vai se tornar logo o 8220new, cool layout8221. Engraçado, eh I8217ve usado D2009 para um pouco agora e acho que it8217s absolutamente incrível. Como foi explicado, você tem a capacidade de separar / desancorar suas janelas em D2009 e dar-lhe a aparência antiga de D7, então o que estamos realmente reclamando sobre Sim D7 foi incrível, mas você can8217t esperar Delphi ea linguagem pascal para permanecer stagnant while other IDE8217s and languages improve. I believe the addition of generics has long been awaited by a lot of Delphi developers, especially those who saw the benefit of templates in C. Do you know that Codegear was discussing about removing the undocked layout because the new IDE have issues with it And especially the floating form designer That8217s a classic example when programs bugs drive features 8211 not user needs/feedbacks. Now that VS2010 acnowledged that being able to move windows around screen(s) is good I guess they rethought it, I hope8230 Again, I never said people should not upgrade and new releases are worse than the previous ones (but D2005 and D2006, of course). I am just saying that if so many people complain and don8217t perceive the value of new release there are issues, that must handled and addressed. Dealing with them as morons that could not understand what generics or Unicode are is plainly stupid. Upgrading may mean spending thousand of dollars/euro (of course, if you someone gets software for 8220free8221 this is not a issue8230), and it has to be accounted for, especially now. People have to find real 8220business reasons8221 to upgrade, and just playing with the latest features or IDE may not be one. Probably a 64 bit Delphi would be a good reason to upgrade for many, but once again Codegear looks to be driven by other interests, and is still delaying it. Anyway, it depends on your application. InnoSetup was written with Delphi 2/3 until the last release, when it began to use D2009 to support Unicode. And it is one ot the most successful Delphi applications, probably. Why didn8217t he upgraded before Because he preferred the little footprint of those Delphi releases, and given the application type, he could work within those older version limits, and he wouldn8217t have gained much in using, say, D2007. And remember: Just because windows CAN be docked, doesn8217t mean that they must be docked at ALL times. I regularly have two edit windows on two monitors. I keep the (vastly improved, filterable etc) tool palette unpinned unless I8217m currently working on form design. If designing a large form, I undock it as required. Why do people want to stick with the old palette which I always thought was one of the worst parts of the old IDE I just didn8217t scale And the refactoring option rock Your discussion of CodeRush is a bit odd. You seem to be arguing against yourself. You admit it is 8216fabulous8217, but then complain that it is 8216fabulously expensive8217. Surely this is irrelevant because, D7 users must have already bought it, otherwise it would not be a consideration. The extinction of the Delphi version of CodeRush is in fact a reason to retain D7, as CodeRush is not available for later Delphis. The company where I work owns copies of D2007 and D2009, but we don8217t yet use them. We like Delphi, and admire many of its features. But the question that arises is: is it worth the effort of converting existing apps to D2009, and putting in the effort to learn the new IDE These days, our new apps are often written in, for example, Flash/Flex as web applications. Delphi programs are mostly on a maintenance cycle. How much effort should we put into old Win32 apps How much life is there in the platform Will we still be writing new Delphi programs for windows in five years8217 time I think the answer is that it eventually probably will become worth the effort, but it is a tough decision. The availability of a good quality new version of Delphi is important, but there are other considerations. Delphi 7 was a grand old girl but her time has come. She was probably better than BDS 2006, 2005 and the version that cannot be named but since Delphi 2007, there8217s really no reason to actively avoid upgrading any more. 8220the version that cannot be named8221 LOL I think of these versons as: Delphi 8: An Alpha release Delphi 2005: A Beta release Delphi 2006: A so-so Delphi version, released some 3 mth. too early. Delphi 2009 a great release 8211 made me upgrade I really hope Embarcadero will make a updated Turbo Delphi based on Delphi 2009 language features and IDE, because with the current Turbo Delphi they risk scaring new users and possible customers away. The main reason not to upgrade to D2009 is the cost involved Unless you need Unicode I can8217t see how I can convince company8217s board to buy 20 licenses of Delphi 2009 Enterprise ( many other 3rd party components like report solutions, decent DB controls replacement, etc, etc, etc) just to get a 8220faster IDE8221. 8220Your IDE is slow Ok, I give you 300 and you can buy a new quad-core super-duper CPU8230 Don8217t need to spend 30008221 8220Class helpers8221 Believe me, they don8217t know what a class helper is, and don8217t intend to. They want to know how a class helper will make their business more successful. They would ask: 8220What we need to do today that can8217t be done with Delphi 6 or Delphi 20068221 Some developers won8217t like that change either. When I mention D2009 they ask me: 8220Is the help system at least usable8221 Believe me, we have a hard time EVERYDAY with Delphi 2006 help and D2009 help is not even close to D6 or D7 help. Google is faster than the new help system anyway (how can it. ), but it can NEVER be used as an excuse The only thing that willl FORCE most people to upgrade, at least those creating server side DB applications with Delphi, is the 64 bits compiler, but 8220oops they did it again8221 Embarcadero changed priorities and 64-bit Delphi lost its position to a MacOS thing8230 Maybe you can convince them the IDE enhancements will make you more productive. The new language features will reduce development and maintenance costs. The new components introduced since D7 will enable you to develop a modern looking application with an improved user experience. D7 to D2009, you are getting so much more than just a new IDE. For me, Delphi 2009 is by far the best version yet. I would add the DataSnap 2009 is a very exciting new addition. Unfortunately I can8217t agree about Generics. I8217ve had unpredictable results in compiling since using them, and QC has quite a number of open reports. gtgtgt 8220Ok, I give you 300 and you can buy a new quad-core super-duper CPU Dont need to spend 30008221 Now, multiply 300 on 20. And upgrade cost is not 3000, it starts from 400. And 8220quad-core super-duper CPU8221 don8217t get you new features, which can speed up your development. His point was that you need per station to pay 300 for upgrading the MainboardCPU for one station than 3000 for a full license of all environment that the price implies. Is true that 3000 may be amortized in let8217s say one year, but with 10 of price you can get half of benefits and the lost in money are just 1500, so the gain is 1200 dollars per station. Considering that the (old) machine did not upgrade the hardware, the gained speed in IDE operations may be also slown down by bigger RAM requirements that the new version may came with. So the all balance was: how can I justify from business POV I8217m not sure GExperts is all that dead, though it doesn8217t move at a breakneck pace. It looks like a new web site that includes a new release went up just today. I8217m also not sure you can say that GExperts has bad support. I emailed the authors and got a quick response just a couple of months ago. Bad support to me implies ignoring users or leaving bugs unfixed forever, and I don8217t see that. GExperts definitely isn8217t adding features hand over foot, but what it has is very useful and even more important is support for new IDEs as they come out and stability, and it seems to have both of those down fairly well. Other IDE addins are more experimental with adding features. I have past experience with CodeRush and cnWizards, and both were like this 8211 lots of features, but also a few more stability issues. To each his own8230 GunSmoker: If you read right this time you will see that I said specifically about ENTERPRISE version. If you can buy me a Delphi 2009 ENTERPRISE upgrade for 400, I will be glad to send you the money Besides that, let me tell you that the prices you see in Embarcadero online store are only valid in YOUR country. Believe me, in my country Embarcadero products costs up to 50 more than in US8230. I8217m sure you didn8217t know that, did you I don8217t buy the 8220don8217t have time8221 argument. That8217s just dumb. Really Good Programmers are both lazy and smart. They know that life is not an endless series of maximally compressed deadlines. There is always time to learn a product if learning it will increase your productivity. Meanwhile, if you don8217t learn Delphi 2009/2010, you will eventually get farther and farther behind the curve. The idea that unicode is for Chinese apps is silly. Unicode is for the web, and for modern applications, you silly silly developer. One of my apps deals with Excel files. Not in chinese. English. But Excel files (XLS) are stored in a Unicode format. The conversion from Unicode to ansi strings when loading those XLS files and resaving them in Delphi 2007 caused data loss. I don8217t know about you, but I don8217t think that8217s OKAY. That same component (Developer Express Spreadsheet) now works in Delphi 2009, and has clean Unicode support throughout. Upgrade pain for me Minimal. Payoffs Still haven8217t finished finding new ones. Web pages are more and more commonly encoded in UTF8, and the advanced encoding handling features built into Delphi 20098217s string classes are valuable not only because they handle Unicode but also because they can handle ANY CODEPAGE. Not just the current windows codepage. So, any programmer with 8220no time8221 to learn, will eventually get so far behind that he can8217t find new clients. Learn, and stay on top of the game, or fall behind, and become slowly irrelevant. The world is using unicode. Windows has been using Unicode for everything, and even if you use AnsiStrings and Delphi 7, your app running on XP is working on a Unicode platform. If you8217re the kind of developer who thinks he can endlessly ignore that simple fact, then you8217re in trouble, mate. And corbus isn8217t an ass. I demand to be called an ass too. You forgot about me. OK, 8220never heard8221 know nothing or what, given this usesless rant Class Helpers: DID you actually double-check the documentation on class helpers Did you understand what you read in that documentation I don8217t think you could have, because the link you provided supported MY point, not yours: From the documentation: 8220Class helpers provide a way to extend a class, but they should not be viewed as a design tool to be used when developing new code. They should be used solely for their intended purpose, which is language and platform RTL binding.8221 Tell me, who else, outside of CodeGear8217s own labs, is involved in 8220language and platform RTL binding.8221. And who could possibly use a class helper without developing new code. 8211 i. e. a new helper 8211 something specifically advised against. It is quite simple to establish the dangers of class helpers8230 1) their initial release wasn8217t even completed on Win32 8211 they were 8220usable8221 but badly broken if you tried to use them in Win32 in the same way that you could in Delphi. NET. But that was fine because the language and platform RTL binding usage in Win32 didn8217t NEED the missing parts, and since no-one was supposed to be using them for anything else8230.. 2) even in their current, more complete form, using them risks breaking code when you end up inadvertently mixing class helpers for the same class in a common code base, as is likely to happen if people use them willy-nilly to 8220decorate8221 classes as THEY see fit, and then run into an unholy mess when those 8220decorations8221 are brought in to the scope of code that already decorates the same classes in a way that someone ELSE sees fit. And the breakage that may result is not fixable without access to one or other or both sources for the class helpers involved. You may have that access, you may not. Even if you do, you may not be able to change one or other of them without breaking other code that relies on that helper. The irony is that class helpers really don8217t offer anything that good old fashioned typecasting of a locally defined pseudo-sub-class provided. The great advantage of that old-skool technique being 1) transparency: it was entirely clear what shenanigans were afoot, 2) topicality: using the technique allowed code to take advantage that needed to take advantage (and do so transparently 8211 i. e. clearly) but did not affect any other code and lastly 3) portability: it didn8217t rely on language features that were not available in the wider population of Delphi compilers None of this is mentioned in the documentation because8230 well, I imagine the possibility that two different component developers might decorate the same class for different purposes and then find their class decorations in conflict shouldn8217t arise since the ONLY developers using these things are those engaged in language and platform RTL binding8230 i. e. CodeGear developers, who would talk to each other and presumably simply amalgamate the decorator needs into one single helper. And another thing8230. So GExperts hasn8217t been updated for almost 12 months8230 big deal. Maybe it doesn8217t NEED updating. Anyone still happily producing code using D7 and GExperts 8211 by definition 8211 doesn8217t NEED anything newer just for the sake of it being newer. Do you buy a new car every year, just because there8217s a newer model Do you move house every year because the old one hasn8217t been updated in the past 12 months Oh, and for the record you can add me to the list of people that tolerate the new IDE, but absolutely do NOT find it an improvement over the D7 experience. Never mind the docked/undocked debacle or the ridiculous assertion that the component palette is an improvement when the 8220improvements8221 implied in that statement are the remedial measures required to make the new palette even barely usable 8211 i. e. keyboard navigation because it is so woefully un-mousefriendly, which is a BIG mistake for a tool that supports a predominantly mouse-centric activity (form design). And don8217t even get me started on the ill-conceived redesign of the palette icons for various controls that are utterly unrecognisable as representations of the controls they are supposed to. uh. represent (TLabel and TPanel, I8217m looking at you). And never mind that D7 remains the speed king of IDE8217s, even when comparing IDE8217s all equally (or as fully as possible) pimped-out with 8220SpeedUps8221 and 8220Extensions8221, courtesy of Andreas Hausladen. D7 also remains the most solidly stable and reliable than ANY Galileo IDE. Certainly D2007 was a quantum leap forward over 2005 and 2006 in that regard and 2009 doesn8217t seem to have slipped back on that too badly, but still I have more 8220WTF8221 moments in D2009 than I ever did in D7 (and I still use D7 far more than I use D2009 and my D7 IDE is far more loaded with 3rd party components, so the 8220WTF per hour8221 and 8220WTF:Palette Load8221 ratio is far worse than the absolute 8220WTF8221 count would suggest). por exemplo. random, no warning 8220shutdowns8221 (IDE just disappears), keyboard not responding at all, 8220alt8221 shortcuts spuriously hijacked/not responding. None of which are mechanically reproducible enough that a QC report could meaningfully be logged. And on top of all that, the new Project and IDE Options dialogs are abominations that should never have made it out of the Usability Labs. Again, a great 8220new feature8221 is that they are re-sizable. Good thing too, because now you can8217t see half as much useful information in them at their default sizes, where-as before, they didn8217t really NEED to be resizable at all I paid, out of my own pocket, the upgrade to D8. It was a waste of money and I was very angry. My Kylix 1 experience didn8217t improve my demeanor. Whenever new versions came out I read the forums, usually with dismay. Then D2007 came out, and I let myself be persuaded to upgrade, but in reality it was a mixed Native Code/.NET IDE with the. NET capability quickly stripped out, and it showed. Was D2007 worth my money The IDE is an improvement, but I wouldn8217t do it again. But I paid for it, so I use it, with D7 open at the same time for the Help. Now I am told to reach into my pocket yet again for D2009, but that I cannot compile for my Win98/ME customers anymore, and that Generics is not ready for prime-time yet. That8217s actually funny see 8220D7 also remains the most solidly stable and reliable than ANY Galileo IDE8221 and 8220new IDE starts up a helluvalot faster than Delphi 7 ever did8221 replies from people. You see it everywhere, not only here. Looks like it highly depends on8230 I don8217t know: your machine, your fortune, may be Oh, wait, it must be a new anti-borland move from Microsoft I knew it Interesting 8230 Delphi 2009 definitly starts up fast and D2007 too. I have a really cheap 4core AMD 8230 fast enough. Also on dual core Notebook. Guys I can remember D2005:)))))))))))) on an older machine. It worked when the memory manager was changed and patch 4 was applied. Despite all arguments, in the end we pay for support 8230 and we pay for contiuous evolution of the Delphi Compiler and the IDE (BDS). This is done very satisfying again and from my feeling better than ever before. The trend is upward definitly. Borland Marketing from my feeling did strange decisions and the D2005 diseaster was driven also by lot8217s of guys that where not satisfied with D7 and the upcoming first Microsoft IDE that really worked VS2005. D8 was to early the correct idea, D2005 was to early the better idea (still wonder today that it started at all), D2006 was more in time but more or less the D2005 people wanted 8211 it did it8217s job. D2007 is the correct answer for native development 8211 D2009 is in time and very good native development and UNICODE. For some of us QT Studio will do for C development 8230 but where is the alternative for C, except of D2007/2009. As long as we talk about IDEs and RAD development 8230 There exists C Code and new developers take over existing code also Pascal code. And being in the position to reduce cost in that area an upgrade fee is not worth mentioning. You cannot sell this so simple 8230 The help system can be left open there is no need to close it8230 The speedup of an IDE start ist nothing, the speedup of other getting to know the existing code is everything. Welcome back to reallity. I fully understand the arguments for Delphi 7. Most of the Addons are not delivered and are a sign that something was missing. Codegear/Emarbacero took action 8230 So why not move to this decade8230 You are STILL missing the point: 8220Third, the help entry text dates from at least Delphi 2005 and was superceded by this famous post which shows that even within CodeGear/Embarcadero the opinion has shifted.8221 There is no 8220shift8221. Vista is a platform, the VCL is the RTL. Your example of an 8220opinion shift8221 is just a. n.other example of the INTENDED USE of class helpers, as originally documented in 2005. Just because the platform in this case isn8217t. NET, that doesn8217t mean that the stated, intended use of class helpers is suddenly different. The single unifying and defining characteristic is this: These are class helpers used within the VCL by CodeGear in the RTL source. As long as it is ONLY CodeGear that produces class helpers there will not be a problem. The problems start when other people start creating their own class helpers and then expect to be able to share that code with other people who are ALSO creating their own class helpers. Class helpers in their original AND in their current form, simply do not work in that scenario (in the sense that they introduce an unacceptable risk of unintended consequences) and that is quite simply because 8211 AS THE DOCUMENTATION STATES 8211 they were not and are not intended to be used in that way. Não. You8217re missing the point. There is on such thing as a reserved language feature. Go read the post I linked to, and you8217ll see that this is not a case of platform binding at all 8211 the relationship with Windows Vista is incidental. You could have added any property whatsoever in the same way. You8217re wrong if you think that their use by members of the populace is universally frowned upon by all at Embarcadero. Go google 8220class helpers8221 on blogs. embarcadero and you8217ll find at least three or four blog posts by members of the Delphi team that describe how class helpers helped them achieve things that would otherwise be more cumbersome or difficult. And about a year ago CodeGear ran a campaign to get people to switch from Delphi 7 and released a series of lists highlighting the major changes since Delphi 7. Class helpers are specifically listed there. They just regurgitated the blurb from the help file, sure. But they explicitly included them in a list meant to get people to switch. On top of that, go search qc. embarcadero for class helpers and you8217ll find many issues that were opened and fixed, even though none of these reports are related to VCL-platform binding. So obviously the language feature is being actively maintained, based on its use by the community. And the use of class helpers in implementing the GlassFrame property is completely different from the System. Object binding. The class helper wasn8217t needed to implement the property. It was needed to implement it without breaking DCU compatibility. So it had nothing to do with 8220platform binding8221 and everything to do with being able to extend a class that could not be modified. Further, in Delphi 2009 the changes were rolled into the TCustomForm class and the class helper is no more. Not because it was a bad idea, but simply because it has served its purpose. Also, your example of why it is evil is actually a case of incorrect use. For that matter, there are many cases where inheritance is also a bad idea, as there are with recursion, built-in assembly routines, function overloading, generics and method pointers (events). But we don8217t ban those. Lastly, they are such a bad idea that C copied the idea. In fact just reimplemented it after the guy who designed them for Delphi joined Microsoft. There is a great thread on Stackoverflow about where their use do make sense 8211 go read that if you need to be convinced that they are helpful. Firstly, thank-you. I have been looking for ages for information like this and I can see that you are trying to be objective and helpful. I have Delphi 2007 but still use Delphi 5 and am desperately try to find a compelling reason both to acquire 2010 but more important to actually use it when I get it. I am still not convinced but you have give me alot of food for thought. I have been coding in PASCAL since turbo pascal 5. I have been through pretty much all the IDE8217s Delphi 2009 is great 8211 except for the lowlevel UNICODE bugs in IBX components, which have rendered my projects totally useless. There are numerous complaints on QC but nothing gets done about it. In the end I had to go fix the bugs in IBSQL and IBCUSTOMDATASET myself, statically link the source file to the app and 8220build with debug dcu8217s8221 hardly a viable solution. I8217m glad to say we are rewriting in C and from next year wont have to hassle with delphi crap again

No comments:

Post a Comment