Erro no comando Sleep quando usa o componente IdIcmpClient

19/02/2008

0

Boa tarde

Estou com um problema no c++ builder 6 com o comando Sleep fica dando erro na compilacao, quando insiro o objeto IdIcmpClient na paleta indy Clients.
o erro e o seguinte:
[C++ Error] PDV01.cpp(675): E2015 Ambiguity between ´_fastcall Idglobal::Sleep(unsigned int)´ and ´__stdcall Sleep(unsigned long)´

e como se esse objeto IdIcmpClient tambem tem uma funcao chamada sleep. Alguem sabe me dizer o que e isso ????

Grato
Jaime


Jaimesk

Jaimesk

Responder

Posts

20/02/2008

Jaimesk

Para ser vcs sentirem o drama cria um novo projeto e crie um buttom e nele coloque apenas o seguinte:

Sleep(100);

e no form va na paleta Indy Clients e insira o objeto IdIcmpClient e depois manda rodar essa aplicacao ai vcs verao o erro.

Grato


Responder

20/02/2008

Rodc

Pior... passei por isto ontem. Estou migrando meus componentes para o C++ Builder 2007 e, como nesta versão não tem o TNMUDP, usei o TIdUDPClient. Ocorreu o mesmo problema.
O que fiz foi chamar o Sleep da seguinte forma:
Idglobal::Sleep()
Porém ele passa a chamar o Sleep da Indy. Não sei como fazer para chamar o Sleep da VCL da Borland. Gostaria de saber também!


Responder

20/02/2008

Massuda

Não mexo com CBuilder, mas a mensagem de erro indica que existem dois Sleep(), um definido pelo Indy em IdGlobal e outro provavelmente do windows, de modo que o compilador não sabe qual dos dois você quer usar, já que ambos tem a mesma assinatura (mesma lista de parametros); isso de chama [b:80e31ab6d5]ambiguidade[/b:80e31ab6d5].

Assumindo que você quer usar o Sleep que não é do Indy, acho que isto deve funcionar...
::Sleep(...seu valor aqui...);
..isso indica ao compilador que você quer usar o Sleep definido no namespace global. Se fosse usar o Sleep do Indy, você escreveria...
IdGlobal::Sleep(....
...o que indica que você quer usar o Sleep do namespace IdGlobal.


Responder

20/02/2008

Rodc

Funcionou perfeitamente! Valeu Massuda.
Mas me diz uma coisa, se as duas funções fossem globais (sem namespace) o faria?


Responder

20/02/2008

Jaimesk

Funfo !
Valeu a forca !


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar