Componente do Delphi 5 para o Delphi 6
Seguinte galera...
estou com um problema... eu tenho um componente que era para o Delphi3. Dai foi feita as devidas auterações para que o componente fosse aceito no Delphi5. Agora eu preciso desse mesmo componente no delphi 6.
Eu já fiz uma pesquisa aqui no fórum, e solucionei alguns problemas, mas agora surgiu um outro que eu achei uma solução, mas não gostaria de aplicá-la.
Eu sei que existem units que mudaram de nome e foram divididas. Então, essa parte eu fiz. Renomeei as units, e também adicionei a DCP designide.dcp na package do meu componente. A partir disso, eu consegui instalar o componente, compilar a package e também colocar o componente na form.
Mas me surgiu um outro problema. Ele não deixa eu compilar o projeto porque ele precisa do proxies.dcu. Como eu tenho o delphi 5, tratei de colocar num caminho qualquer essa DCU e colocar esse caminho no SearchPath. Mas ao compilar, ele pede agora o arquivo Proxies.pas.
Dai eu pensei como para a package. Adicionei o DCP no meu projeto, mas como não tem um ´Required´ para o projeto, eu coloquei o DCP para ´compilar com packages em tempo de execução´, ou, selecionei a opção ´Build with runtime packages´, fazendo assim com que o projeto seja executado corretamente, ou, ele compila e gera o executável.
Mas como eu tenho o delphi, não tive problema algum. Mas ao testar numa máquina sem Delphi, o aplicativo requisitou as BPL´s rtl60.bpl, vcl60.bpl e designide60.bpl.
Então pra solucionar o problema, coloquei as BPL´s junto ao aplicativo, e funcionou tudo ok.
Mas essa solução eu não queria adotar, porque dai eu preciso mandar esses arquivos (BPL´s) junto com o executável.
Será que alguém sabe alguma alternativa para o caso?
obrigado..
estou com um problema... eu tenho um componente que era para o Delphi3. Dai foi feita as devidas auterações para que o componente fosse aceito no Delphi5. Agora eu preciso desse mesmo componente no delphi 6.
Eu já fiz uma pesquisa aqui no fórum, e solucionei alguns problemas, mas agora surgiu um outro que eu achei uma solução, mas não gostaria de aplicá-la.
Eu sei que existem units que mudaram de nome e foram divididas. Então, essa parte eu fiz. Renomeei as units, e também adicionei a DCP designide.dcp na package do meu componente. A partir disso, eu consegui instalar o componente, compilar a package e também colocar o componente na form.
Mas me surgiu um outro problema. Ele não deixa eu compilar o projeto porque ele precisa do proxies.dcu. Como eu tenho o delphi 5, tratei de colocar num caminho qualquer essa DCU e colocar esse caminho no SearchPath. Mas ao compilar, ele pede agora o arquivo Proxies.pas.
Dai eu pensei como para a package. Adicionei o DCP no meu projeto, mas como não tem um ´Required´ para o projeto, eu coloquei o DCP para ´compilar com packages em tempo de execução´, ou, selecionei a opção ´Build with runtime packages´, fazendo assim com que o projeto seja executado corretamente, ou, ele compila e gera o executável.
Mas como eu tenho o delphi, não tive problema algum. Mas ao testar numa máquina sem Delphi, o aplicativo requisitou as BPL´s rtl60.bpl, vcl60.bpl e designide60.bpl.
Então pra solucionar o problema, coloquei as BPL´s junto ao aplicativo, e funcionou tudo ok.
Mas essa solução eu não queria adotar, porque dai eu preciso mandar esses arquivos (BPL´s) junto com o executável.
Será que alguém sabe alguma alternativa para o caso?
obrigado..
Rafael Heise
Curtidas 0
Respostas
Larry
23/03/2004
Oi,
Estou com esse mesmo problema: D3 para D6 - proxies.pas não existe.
Você consegui solucionar? como?
Abraços.
Estou com esse mesmo problema: D3 para D6 - proxies.pas não existe.
Você consegui solucionar? como?
Abraços.
Seguinte galera...
estou com um problema... eu tenho um componente que era para o Delphi3. Dai foi feita as devidas auterações para que o componente fosse aceito no Delphi5. Agora eu preciso desse mesmo componente no delphi 6.
Eu já fiz uma pesquisa aqui no fórum, e solucionei alguns problemas, mas agora surgiu um outro que eu achei uma solução, mas não gostaria de aplicá-la.
Eu sei que existem units que mudaram de nome e foram divididas. Então, essa parte eu fiz. Renomeei as units, e também adicionei a DCP designide.dcp na package do meu componente. A partir disso, eu consegui instalar o componente, compilar a package e também colocar o componente na form.
Mas me surgiu um outro problema. Ele não deixa eu compilar o projeto porque ele precisa do proxies.dcu. Como eu tenho o delphi 5, tratei de colocar num caminho qualquer essa DCU e colocar esse caminho no SearchPath. Mas ao compilar, ele pede agora o arquivo Proxies.pas.
Dai eu pensei como para a package. Adicionei o DCP no meu projeto, mas como não tem um ´Required´ para o projeto, eu coloquei o DCP para ´compilar com packages em tempo de execução´, ou, selecionei a opção ´Build with runtime packages´, fazendo assim com que o projeto seja executado corretamente, ou, ele compila e gera o executável.
Mas como eu tenho o delphi, não tive problema algum. Mas ao testar numa máquina sem Delphi, o aplicativo requisitou as BPL´s rtl60.bpl, vcl60.bpl e designide60.bpl.
Então pra solucionar o problema, coloquei as BPL´s junto ao aplicativo, e funcionou tudo ok.
Mas essa solução eu não queria adotar, porque dai eu preciso mandar esses arquivos (BPL´s) junto com o executável.
Será que alguém sabe alguma alternativa para o caso?
obrigado..
GOSTEI 0
Rafael Heise
23/03/2004
de certa forma sim.. e está explicado na mensagem que eu postei... mas eu não achei a solução a melhor de todas... então, fica no ar, existe outra alternativa para solucionar o problema?
GOSTEI 0
Cebikyn
23/03/2004
A unit Proxies foi removida propositalmente do Delphi 6, pois muitos programadores usavam-na de maneira indevida. A referida unit contém códigos para design-time, e não run-time, mas muitos usavam de forma aleatória, sem se atentar a este detalhe. Para solucionar o problema, o componente deve ser dividido em dois packages, um apenas para a parte design-time e outro para run-time. Esta é a solução oficial, apresentada pela Borland, no site: http://community.borland.com/article/0,1410,27717,00.html
Mas existe uma solução que burla este novo sistema, foi apresentada pelo Nildo, e consiste em criar a unit Proxies.pas, da seguinte forma:
Após criar a unit como apresentado, basta salva-la em algum lugar acessivel pelo Search Path (C:\...\Delphi\Lib, por exemplo).
Mas existe uma solução que burla este novo sistema, foi apresentada pelo Nildo, e consiste em criar a unit Proxies.pas, da seguinte forma:
unit Proxies; interface Function IsProxyClass(ComponentClass: TClass): Boolean; implementation Function IsProxyClass(ComponentClass: TClass): Boolean; begin Result := True; end; end.
Após criar a unit como apresentado, basta salva-la em algum lugar acessivel pelo Search Path (C:\...\Delphi\Lib, por exemplo).
GOSTEI 0