ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Erro: Incompatibile Types, Ajuda por favor!!

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
PauloFernandoDM
Novato
Novato


Registrado: Terça-Feira, 24 de Março de 2015
Mensagens: 5

MensagemEnviada: Ter Mar 24, 2015 9:50 pm    Assunto: Erro: Incompatibile Types, Ajuda por favor!! Responder com Citação

Galera, estou travado no meu projeto!!

Criei um botão no mainmenu do meu projeto e criei também 4 procedures para serem executadas no clique desse botão. O problema está na chamada desses procedures, alguém me ajuda?? Confused Confused
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
anderbelluno
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011
Mensagens: 1030
Localização: Cianorte-PR

MensagemEnviada: Qua Mar 25, 2015 2:26 am    Assunto: Responder com Citação

vc esta passando valores para variaveis de tipos diferentes.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
souzacruz001
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 11 de Junho de 2014
Mensagens: 273

MensagemEnviada: Qua Mar 25, 2015 8:16 am    Assunto: Responder com Citação

Bom dia.

Você está fazendo tipo o seguinte:

Código:

var
  vStrAux: string;
  vIntAux: integer;
begin
  vStrAux := 'Olá';
  vIntAux := vStrAux;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
PauloFernandoDM
Novato
Novato


Registrado: Terça-Feira, 24 de Março de 2015
Mensagens: 5

MensagemEnviada: Qua Mar 25, 2015 8:26 am    Assunto: Responder com Citação

anderbelluno escreveu:
vc esta passando valores para variaveis de tipos diferentes.


Olha só, o programa está dessa forma: Na Unit Principal, onde estão declaradas todas as variáveis e types, estão declaradas essas duas types (que são as que dão erro)
Propriedade_Geometrica= Array[1..Maxns] of Extended;
Propriedade_Mecanica= Array[1..Maxnm] of Extended;
Sendo que esse limite final Maxns e Maxnm são constantes também definidas anteriormente.

Em seguida são declaradas as variáveis R1,R2 e Ax que pertencem a Propriedade_Geometrica. E as variáveis E,alfa,Gama que pertencem a Propriedade_Mecanica.

Na hora de criar os procedures o compilador rodou sem erros quando eu declarei os mesmos da seguinte forma:
procedure TForm1.Dimensiona_Tracao_Banzo;
procedure TForm1.Dimensiona_Compressao_Banzo(R2,R1,inerc,E: Extended);
procedure TForm1.Dimensiona_Tracao_Diagonal;
procedure TForm1.Dimensiona_Compressao_Diagonal(R2,R1,inerc,E: Extended);

E quando eu vou chamar os procedures no botão que criei dessa maneira, dá erro dizendo que os tipos Extended e 'Propriedade_Geometrica' e 'Propriedade_Mecanica' são incompatíveis,

procedure TForm1.Dimensionar1Click(Sender: TObject);
begin
Dimensiona_Tracao_Banzo;
Dimensiona_Compressao_Banzo(R2,R1,inerc,E: Extended);
Dimensiona_Tracao_Diagonal;
Dimensiona_Compressao_Diagonal(R2,R1,inerc,E: Extended);
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
mobius1qwe
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 8 de Dezembro de 2010
Mensagens: 146

MensagemEnviada: Qua Mar 25, 2015 2:19 pm    Assunto: Responder com Citação

PauloFernandoDM escreveu:
Olha só, o programa está dessa forma: Na Unit Principal, onde estão declaradas todas as variáveis e types, estão declaradas essas duas types (que são as que dão erro)
Propriedade_Geometrica= Array[1..Maxns] of Extended;
Propriedade_Mecanica= Array[1..Maxnm] of Extended;

Tá dando erro em alguma dessas linhas?
PauloFernandoDM escreveu:

Sendo que esse limite final Maxns e Maxnm são constantes também definidas anteriormente.

Em seguida são declaradas as variáveis R1,R2 e Ax que pertencem a Propriedade_Geometrica. E as variáveis E,alfa,Gama que pertencem a Propriedade_Mecanica.

Na hora de criar os procedures o compilador rodou sem erros quando eu declarei os mesmos da seguinte forma:
procedure TForm1.Dimensiona_Tracao_Banzo;
procedure TForm1.Dimensiona_Compressao_Banzo(R2,R1,inerc,E: Extended);
procedure TForm1.Dimensiona_Tracao_Diagonal;
procedure TForm1.Dimensiona_Compressao_Diagonal(R2,R1,inerc,E: Extended);

E quando eu vou chamar os procedures no botão que criei dessa maneira, dá erro dizendo que os tipos Extended e 'Propriedade_Geometrica' e 'Propriedade_Mecanica' são incompatíveis,

procedure TForm1.Dimensionar1Click(Sender: TObject);
begin
Dimensiona_Tracao_Banzo;
Dimensiona_Compressao_Banzo(R2,R1,inerc,E: Extended);
Dimensiona_Tracao_Diagonal;
Dimensiona_Compressao_Diagonal(R2,R1,inerc,E: Extended);
end;


Seu erro tá aqui:
Citação:
procedure TForm1.Dimensionar1Click(Sender: TObject);
begin
Dimensiona_Tracao_Banzo;
-> Dimensiona_Compressao_Banzo(R2,R1,inerc,E: Extended);
Dimensiona_Tracao_Diagonal;
-> Dimensiona_Compressao_Diagonal(R2,R1,inerc,E: Extended);
end

Ao chamar uma procedure ce não pode declarar tipos na chamada, só passar variável.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
PauloFernandoDM
Novato
Novato


Registrado: Terça-Feira, 24 de Março de 2015
Mensagens: 5

MensagemEnviada: Qua Mar 25, 2015 2:54 pm    Assunto: Mobius, Entendi Responder com Citação

Ok, eu retirei os parâmetros dos procedures Dimensiona_Compressao. Só que agora, somente nos dois de Compressão está dando erro que não existem parâmetros suficientes.

linha 1700 Dimensiona_Tracao_Banzo;
linha 1701 Dimensiona_Compressao_Banzo;
linha 1702 Dimensiona_Tracao_Diagonal;
linha 1703 Dimensiona_Compressao_Diagonal;

Error (1701): Not enough actual parameters
Error (1703): Not enough actual parameters

Para cada procedure desse eu quero que ele execute e mostre em um novo Form que ainda vou criar, o valor da última variável calculadas pelas fórmulas. Só que essa variável depende de muitas outras. Então na hora de chamar o procedure eu devo colocar qual variável?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3093
Localização: Belo Horizonte - MG

MensagemEnviada: Qua Mar 25, 2015 3:13 pm    Assunto: Responder com Citação

Você precisa "alimentar" os parâmetros quando chama a procedure.

Você declara:
Código:

procedure TForm1.Dimensiona_Compressao_Banzo(R2,R1,inerc,E: Extended);
procedure TForm1.Dimensiona_Compressao_Diagonal(R2,R1,inerc,E: Extended);


Durante o código, quando for chamar a procedure você alimenta os parâmetros.

Exemplo:
Código:
Dimensiona_Compressao_Banzo(1, 2, 3 , 4);
Dimensiona_Compressao_Diagonal(1, 2, 3 , 4);


Onde coloquei 1, 2, 3, 4 você adiciona os valores corretos para a alimentação da procedure.
_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
PauloFernandoDM
Novato
Novato


Registrado: Terça-Feira, 24 de Março de 2015
Mensagens: 5

MensagemEnviada: Qua Mar 25, 2015 3:45 pm    Assunto: Mais explicações Responder com Citação

Bom, até então eu entendi em ''alimentar'' o procedure com as variáveis que eu estou declarando, para que ele possa ser executado. O problema é que além dessas variáveis R2,R1,inerc e E, existem outras que dentro do procedure eu declarei para chegar no resultado final que preciso. Acredito que a confusão está se dando devido algumas dessas variáveis serem globais e outras locais.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Qui Mar 26, 2015 8:14 pm    Assunto: Responder com Citação

é pq vc não entendeu nada ainda.

nada tem a ver com nada.

tente uma coisa mais simples
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB