none
Função CreateFile RRS feed

  • Pergunta

  • Oi pessoal!

    Gostaria de resolver um problema:

    Estou desenvolvendo um programa para comunicação serial, só que não consigo abrir a porta disponível com a função CreateFile.

    Meu programa lê o registro coloca as portas COM em um TComboBox para que eu selecione ok? Só que os nomes das COM's retornam do TComboBox como um wchar_t* e o parâmetro da função CreateFile(), ipFileName espera um char*! Estou usando o C++Builder XE (espero que não se incomodem por favor) e o sistema operacional é o WIN7 64. Não consegui fazer uma coerção que resolvesse. Alguém pode me ajudar?


    • Editado MiguelCAF terça-feira, 20 de setembro de 2011 22:35
    segunda-feira, 19 de setembro de 2011 21:19

Todas as Respostas

  • Para voce ter a certeza de que o problema nao sao os parametros da CreatFile, etc.. faça o seguinte teste

    * Coloque na funcao que voce esta chamando na "mao" a COM, coloque Hardcode mesmo, "COM1" sem variaveis. isso pra voce esta funcionando?

     

    Minha duvida é se seu metodo de abertura de porta esta "ok" independente da leitura que voce faz do registro pra descobrir as portas seriais.

     

    Claudenir C. Andrade

    quarta-feira, 21 de setembro de 2011 15:06
    Moderador
  • Oi Claudenir!

    Se eu coloco na "mão" dá certo sim, faço minha comunicação sem problemas. Só que assim perde funcionalidade não é mesmo. O legal é selecionar as portas no Combo. O erro que ta dando no meu compilador:  AbrirPorta(ComboBoxCom->Text.c_str())type mismath  wanted 'char*' got 'wchar_t*'.

    O protótipo da função é AbrirPortaCom(char *NomeCom); Se eu chama-la if (AbrirPortaCom("COM1") == true) , funciona normalmente.

     Obrigado!!


    MiguelCaf
    • Editado MiguelCAF quarta-feira, 21 de setembro de 2011 21:47
    quarta-feira, 21 de setembro de 2011 21:05