Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-06-2010
clavijo83 clavijo83 is offline
Registrado
 
Registrado: abr 2009
Posts: 8
Poder: 0
clavijo83 Va por buen camino
No puedo Abrir Puerto Serial mayores a COM9

Hola a todos los foristas.

mi problema es el siguente, tengo una funcion que utilizo para abrir puerto Serial o puertos COM. dicha funcion me trabaja bien cuando abro los puertos del COM1 al COM9 pero al tratar de abrir un puerto mayor al COM9 ya sea un puerto COM10 o COM11 o COM20.. etc. no funciona.

porfavor si alguien sabe que puede ser agradeceria la ayuda.

este es el codigo de mi funcion.
Código Delphi [-]
{Procedimiento para abrir el puerto seleccionado y configurarlo}
function AbrirPuerto(Puerto,velocidad,paridad,tamano,parada: String):boolean;stdcall;
const
  RxBufferSize = 512;
  TxBufferSize = 512;
var
  DCB: TDCB;
  Config: string;
  CommTimeouts: TCommTimeouts;
  DeviceName: array[0..80] of Char;
begin

  cerrarpuerto;
  StrPCopy(DeviceName, (Puerto));

  ComFile := CreateFile(DeviceName, GENERIC_READ or GENERIC_WRITE, 0,  nil,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,  0);

  Config := 'baud=' + velocidad + ' parity=' + paridad + 'data=' + tamano + ' stop=' + parada;

  with CommTimeouts do
  begin
    ReadIntervalTimeout := 0; //no cambiar
    ReadTotalTimeoutMultiplier := 0;//no cambiar
    ReadTotalTimeoutConstant := 1000;//no cambiar
    WriteTotalTimeoutMultiplier := 0;//no cambiar
    WriteTotalTimeoutConstant := 1000;//no cambiar
  end;

  Result :=(ComFile <> INVALID_HANDLE_VALUE) and
            SetupComm(ComFile, RxBufferSize, TxBufferSize) and
            GetCommState(ComFile, DCB) and
            BuildCommDCB(@Config[1], DCB) and
            SetCommState(ComFile, DCB) and
            SetCommTimeouts(ComFile, CommTimeouts);

  showmessage('abrir Puerto:'+booltostr(result));
  keylog('Puerto COM Configurado Y Usado.');
end;

//Procedimiento para Cerrar el puerto
procedure CerrarPuerto;stdcall;
begin
  if ComFile <> INVALID_HANDLE_VALUE then
  begin
    CloseHandle(ComFile);
    ComFile:= INVALID_HANDLE_VALUE;
  end;
end;
Responder Con Cita
  #2  
Antiguo 07-06-2010
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Le pregunté al Tío Goole, y encontré esto: http://support.microsoft.com/kb/115831
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 07-06-2010
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Para acceso a puertos serie uso el componente Async Pro (es softare libre) y no tengo problemas en acceder a puertos > COM9.

http://sourceforge.net/projects/tpapro/

Te lo recomiendo. Además de tener muchísimas posibilidades, la documentación es muy pero muy completa. Y si tenés dudas puntuales con dicho componente, puedo ayudarte.

Saludos !
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Capturas puerto serial compualarma Varios 3 29-03-2009 06:23:23
Puerto Serial Bunbury_2099 Varios 2 16-05-2008 01:57:00
Puerto serial CLX bismarck_sierra Lazarus, FreePascal, Kylix, etc. 0 06-07-2004 21:55:22
Puerto serial fled Varios 2 28-04-2004 22:27:47
Puerto serial. danytorres Impresión 1 29-01-2004 16:51:42


La franja horaria es GMT +2. Ahora son las 03:00:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi