Sunday, 10 September 2017

Delforexp Delphi Xe Professional


Fui há algum tempo lançando versões experimentais GExperts que incluem o formatador de código anteriormente conhecido como DelForEx com algumas melhorias e correções. A última versão é de 2008-12-26 e suporta as seguintes versões de Delphi: Delphi 6 a 7 Delphi 2005 a 2010 Delphi XE Delphi XE2 para XE7 Por favor, note que, eu estou usando isso apenas com Delphi 2007, então as outras versões Pode ter erros desconhecidos. Além disso, nem todas as melhorias linguísticas das versões Delphi posteriores irão funcionar, p. Ex. Tipos aninhados, genéricos e métodos anônimos. Btw: Qualquer ajuda para melhorar o formatador, especialmente a adição de novas construções de idiomas seria apreciada. O código fonte pode ser baixado do repositório de subversão vinculado da minha página inicial. A versão TWM dos GExperts funciona bem e está bem integrada no IDE. Ele permite que você escreva e modifique seu código sem se preocupar demais com a formatação exata, então basta clicar no hot-key atribuído e se reformula instantaneamente. Eu sempre achei fácil configurar para combinar com o estilo que eu prefiro, e não tão complexo quanto o formato de código JEDI, que parecia um exagero para mim. A versão Delphi 2009 está agora disponível no link postado acima, embora com base em uma versão beta do GExperts. No entanto, ainda é o mesmo formatador embaixo, e desconhece a sintaxe de alguns dos novos aprimoramentos do Delphi. Respondido 31 de dezembro de 08 às 12: 19 Não consigo acessar QUALQUER banco de dados por QUALQUER meio dentro do Delphi XE Professional. O que quero dizer ao acessar a base de dados é: ter o banco de dados ao vivo aparecer por componentes no Inspetor de Objetos, quando a propriedade conectada é definida como verdadeira usando o Data Explorer para criar e explorar conexões de banco de dados. O problema principal é essa comunicação no banco de dados, Incluindo especificamente a comunicação gerada pelo IDE e qualquer código criado usando os drivers foi problemático. Sub-problemas de confusão e máscara foram: DLLs perdidas ou mal colocadas. O Data Explorer não suporta totalmente os drivers do dbExpress. Há um erro dentro do código IDE 2009, encontrado por Chee-Yang Chau ao escrever o driver dbxFirebird, que limita a ligação estática de drivers ao Delphi. Não se sabe se esse erro se estende até 2010 ou XE. Ao usar o Inspetor de Objetos, é fácil fazer com que o IDE reative os parâmetros de conexão alterados para seus valores padrão. Alguns drivers tinham valores padrão incorretos (por exemplo, assumindo que a dll do cliente era sempre gdb32.dll, independentemente de o banco de dados ser ou Interbase Firebird). A instalação de duas versões da Interbase levou a alguns confrontos na comunicação do banco de dados - os nomes dos servidores gerados pelas ferramentas eram estranhos e a visão dos bancos de dados dependia de qual instalação das ferramentas Interbase eram usadas. A documentação disponível é de datas variadas refere-se a diferentes versões e, como resultado, muitas vezes parece contraditório. Múltiplos bancos de dados Múltiplos componentes de drivers diferentes Acessando o banco de dados através de outras ferramentas externas, como IBSQL e Flame Robin. Levantar perguntas (aqui e aqui) em SO. Levantar perguntas nos fóruns de suporte para Firebird, Embarcardo e Flame Robin. OS: Windows 7 Ultimate 64bit: Delphi Embarcadero RAD Studio XE Professional Versão 15.0.3953.35171 Banco de dados: W1-V2.5.0.26074 Firebird 2.5 (64 bit) Tecnologia de conexão: dbExpress Warren - Tanto quanto as versões Enterprise ou Architect estão em causa Não é que eu não queira gastar mais dinheiro - não posso pagar, mesmo com as ofertas atuais de atualização. Eu vou comprar os drivers da Devart, se minha linha de pesquisa atual desaparecer - o que parece muito promissor. Ndash Chris Walton 27 de abril 11 às 23:32 O Delphi Professional não suporta o Firebird com os drivers nativos dbExpress que acompanham o Delphi. Você precisa da versão Enterprise ou Architect do Delphi para que o driver dbExpress do firebird nativo funcione. Eu tenho o Delphi 2010 Professional. Eu não queria gastar o dinheiro extra na versão E ou A e não consegui ler a matriz de recursos para ver que o driver Firebird dbExpress não está disponível com a versão Pro. Eu encontrei alguns vídeos realmente agradáveis ​​que mostram como se conectar ao Firebird usando o Delphi. No entanto, quando tentei acompanhar a minha versão Professonal, nada funcionou. Vergonha em mim e mais vergonha no Embarcadero por revelar que o Delphi é compatível com o Firebird em grande impressão em negrito, mas não menciona que você precisa da versão Enterprise ou Architect, exceto na pequena letra fina. Respondeu Apr 26 11 às 13:34 Agora posso escrever código para acessar o Firebird no IDE. Tenho (limitado, mas suficiente) acesso aos drivers dentro do IDE. Especificamente, os drivers aparecem no Data Explorer, que pode ser usado para gerar valores padrão para o SQLConnection (componente dbExpress). Estes podem ser acessados ​​e usados ​​dentro do Inspetor de Objetos. A solução para o erro IDE citado abaixo é necessária para garantir que os parâmetros de comunicação estejam corretos. Ao escrever o código do banco de dados, é necessário compilar na fonte para o driver dbExpress. O código a seguir é o mínimo, com o conjunto mínimo de parâmetros, necessário para estabelecer e testar uma conexão de banco de dados. A solução, cortesia de Bob Swart em um dos fóruns Codegear é: O truque é selecionar um valor ConnectionName, que irá então atribuir um Valor para a propriedade Driver e todas as outras propriedades, como LibraryName, VendorLib e GetDriverFunc. Em seguida, faça alterações - se necessário - para as subpropercias da propriedade Driver e, finalmente, limpe o nome da propriedade Driver. Isso deixará todas as suas alterações na lista Params (que você também pode editar manualmente se desejar). Nota: deixe o conjunto ConnectionName - se você limpa aquele, os parâmetros serão apagados novamente. Agora você pode compilar seu aplicativo e implantá-lo sem a necessidade de dbxdrivers. exe ou dbxconnections. ini (mas você precisa implantar as DLLs especificadas no LibraryName e no VendorLib, é claro). Certifique-se também de configurar LoginPrompt para False e deixar LoadParamsOnConnect definido como False também. Eu concorei a recompensa por esta resposta, pois foi o que me afastou da investigação do IDE, sua instalação e configuração, para investigar a conexão no banco de dados. DK sobre o Firebird 64 bit - nenhuma experiência. Mas sempre tive muitos problemas com o dbExpress. Nunca há nenhum problema com a suíte de componentes IB incluída. Mas há muita confusão com as versões IB. Mas IMO você é melhor servido usando os componentes ADO (DBGo) em oposição a qualquer proprietário IB ou Delphi drivers específicos. O que você precisa é um provedor ADO para IB, disponível: ibprovidereng - e como outros disseram, evite usar o localhost, use 127.0.0.1 ou melhor ainda, determine o endereço IP verdadeiro da estação de trabalho (nome da máquina ping). Você tem certeza de que não possui algum tipo de proteção contra firewall ou invasão que possa estar envolvida Você também precisa ter certeza de que sua conexão IB esteja configurada corretamente - local ou TCP, e não, use aspas para seus nomes, números, etc. A mensagem de erro que você obteve parece indicar que você está tentando se conectar via TCP e não está configurado corretamente. O que aconteceu entre o tempo que funcionou eo tempo que não funcionou. Desligar Delphi Reinicie a máquina Explicar por favor. Não são necessárias permissões especiais: você simplesmente precisa garantir que seu servidor de banco de dados e seu cliente estejam devidamente instalados e configurados. Em termos de funcionalidade, você pode fazer tudo com a versão pro - apenas que os drivers, etc., estão incluídos no pacote. Mais uma vez, o IMO vai para o ADO e você nunca olhará para trás. Chris - use ping -4 myMachine name. O Win 7, por padrão, usa o IPv6. Link: DK - Acabei de clicar com o botão direito do mouse e invocar o link aberto na nova guia39 e apareceu bem. IDE e banco de dados don39t precisam ser 39aware da presença de um outro39s - se sua conexão de servidor e cliente estiver configurada corretamente, ele funcionará. Você pode acessar o banco de dados usando as ferramentas do IB que vêm com o pacote. A partir de lá - ndash Vector 24 de abril 11 às 0:39 Chris - BTW, se eu não estou enganado, você pode se conectar via TCPIP usando os drivers IB incluídos na versão pro, E ou a versão do IB incluída na versão pro só permite o modo de conexão local, e não o TCPIP. Se assim for, você pode se conectar a um servidor remoto, que está reservado para versões 39enterprise39, etc. O ADO verá um servidor em qualquer lugar, mas se você tiver uma versão do IB que não suporte conexões remotas, isso ganhou ajuda. Não tenho certeza do que o DevArt faz. HTH MNG ndash Vector 24 de abril 11 às 0:52 Você tentou o Paradox através do Borland Databse Engine e componentes relacionados: TTable TQuery TStoredProc TDatabase e TSession Se a memória me serve corretamente, pelo menos até o Delphi 3, o fator distintivo entre o profissional E as edições de nível superior foram o tipo de desenvolvimento de banco de dados fora da caixa. No Delphi 1, o BDE foi a única maneira de fazer o desenvolvimento de banco de dados fora da caixa. O Delphi 2 permitiu uma camada de banco de dados personalizada abstraindo partes da hierarquia de componentes do banco de dados. O Delphi 3 Professional forneceu BDE e drivers para bancos de dados baseados em arquivos e Interbase. Um nível acima (Enterprise) eles forneceram drivers BDE para o acesso típico ao banco de dados do servidor cliente: SQL Server, Sybase, Interbase, Oracle. (E drivers nativos para Interbase) Outro nível acima (Arquiteto) introduziu o desenvolvimento de várias camadas com o Midas. Infelizmente, o Borland deu um passo atrás com o Midas, porque os componentes de vários níveis foram novamente conectados ao BDE. (Isso foi resolvido em Delphi 4.) Por favor, note que posso confundir com a nomeação exata dessas edições. Por volta daquela época, eu criei a opinião de que a Borland estava apenas apresentando nomes maiores para cobrar mais por recursos que realmente não ofereciam tanto benefício quanto os CIO's de grande verificação, deixando os desenvolvedores lidar com o cair. (Sim, tenho cicatrizes de batalha da Midas I.) Se alguém se embarcou no desenvolvimento de banco de dados de nível de entrada, você compraria o Delphi. Profissional. Desenvolva seu sistema contra um banco de dados baseado em arquivos ou Interbase via BDE. Se você mais tarde precisasse aumentar de escala: você atualizaria o Delphi, compraria o RDBMS SQL escolhido, trocaria sua conectividade através do componente TDatabase e aplicaria os poucos ajustes necessários. NOTA: No Delphi 3, você pode mudar para Native Interbase (pessoalmente não recomendado) ou usar componentes de terceiros para desenvolvimento não-Midas. Do Delphi 4, o ADO e o DevExpress começaram a receber mais atenção e agora, o BDE parece ser bastante esquecido. Claro que a prática de amplificação da teoria raramente freqüente os mesmos pubs. No entanto, com alguns ponteiros de advertência, você pode desenvolver uma solução baseada em arquivos significativa que pode ser atualizada de forma relativamente sem dor. Mantenha sua lógica comercial fora do banco de dados. Este é possivelmente o maior e mais freqüentemente encontrado erro. Enormes fragmentos de sistemas são muitas vezes escritos em gatilhos e procedimentos armazenados, tornando mais difícil manter ou migrar um sistema. Evite as técnicas de banco de dados específicos da plataforma. Isso deve acontecer sem dizer, mas se você não os buscar explicitamente, você encontrará problemas. Particularmente relevante para os sistemas de banco de dados baseados em arquivos, muitos suportam mecanismos de bloqueio especiais - evite-os. Eles não se dimensionam bem em sistemas multi-usuários grandes em qualquer caso. A geração de teclas artificiais geralmente varia de acordo com a plataforma: geradores, colunas de IDENTIDADE, como você obtém o novo valor. Planeje seu sistema para grandes volumes de dados. Identifique as tabelas de transações elevadas e evite a recuperação descontrolada de todos os registros. Também evito o TTable nesta situação - o BDE faz muitas coisas de fundo interessantes com o TTable. E o comportamento pode variar de acordo com o driver e a plataforma. Disclaimer: Tudo isso foi há muito tempo, então alguns detalhes podem ser um pouco esboçados. Disclaimer2: Eu não tenho nenhuma experiência com o Delphi XE especificamente. Atualmente uso D5 profissionalmente, e D2009 na minha capacidade pessoal. Respondeu Apr 28 11 às 16:46 BDE está morto. Ninguém em Embarcadero nunca tocará esse código, mesmo que um erro seja encontrado e precise ser direcionado para permitir que um programa seja executado. E esse estado de coisas começou em 2002 (AFAIR) quando a última versão do BDE foi lançada (versão 5.2). A razão pela qual eu não votei na sua resposta é porque o bom conselho antes do aviso legal. Embora eu realmente esteja em desacordo com o primeiro conselho, se tomado como dogma. Ndash Fabricio Araujo 28 de abril às 17:12 Fabricio: Eu sei muito bem que BDE preferiria ser esquecido. Ainda tem erros herdados de suas raízes de DBase que nunca serão corrigidas. Provavelmente, ele não deve ser portado para 64 bits. No entanto, ele ainda é distribuído com Delphi, e dado que o OP quer uma solução de custo quotlow ou zero para seu problema - isso não exige nada além do que ele tem atualmente. BTW: Acabei de testar algumas demonstrações do BDE: DemosDelphiWin32VCLWin32DbFishFact e DbMastApp (exibindo dados com o DbExplorer em vez do Data Explorer) - funciona no Win7 de 64 bits com apenas 1 ajuste às configurações. É uma opção a considerar. Ndash Craig Young 28 de abril 11 às 20:11 Fabricio: PS: Don39t mal interpretar a parte da minha postagem: quotentry-level. Compre Delphi Professional. Via BDEquot. Eu não estou dizendo que é isso que deve ser feito, dizendo que isso foi feito (cerca de Delphi 3 dias). Meu ponto é: OP precisa de uma solução. Não cancele uma possível solução simplesmente porque usa tecnologia datada. Se OP descobrir que uma das outras respostas resolva totalmente o problema dele, vou excluir o meu - porque a outra resposta quase certamente será melhor certificada pelo futuro do que depender da BDE. Ndash Craig Young 28 de abril 11 às 20:35 Eu escrevo a BDE porque, como ele tinha XE, ele poderia usar um provedor OLEDb (um link foi oferecido) e até mesmo OleDb sobre ODBC (o que usei com o FB sem problemas) . Ambas são melhores soluções do que a BDE, uma vez que no final ele instala o cliente FB de qualquer maneira - e o driver FB suporta conexões sem dsn. Ndash Fabricio Araujo 2 de maio às 17:34

No comments:

Post a Comment