![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
#1
|
|||
|
|||
![]() Saludos estimados foristas
Estoy utilizando el comando readfile para leer el contenido de una informacion a traves del puerto com, el codigo de lectura es el siguiente. Código:
Function Leer_Puerto_Serie (ai_cantidad:Integer):String; Var lb_read:Boolean; ls_cadena:String; li_leido:dWord; Begin //read_msg = Space(amount_to_read+1) lb_read:=ReadFile(serial_handle, ls_cadena, ai_cantidad,li_leido,nil); If not lb_read Then ShowMessage('Error Read Puerto Serie'); IF li_leido = 0 THEN Showmessage('No Hay Dato en el Puerto Serie'); Result:=ls_cadena; end; alguien podria indicarme si hay un error en el codigo, muchas gracias. este codigo lo copie de un post anterior |
#2
|
||||
|
||||
El problema es que no se está inicializando la variable de retorno (string); una posible solucion es usar cadenas cortas;
Y la otra es inicializar dicha cadena ls_cadena[1], con SetLength.. y una vez leido del puerto corregir su dimensión. Saludos |
#3
|
|||
|
|||
Muchas gracias cHackAll
Su opinion fue de mucha ayuda. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
WNET/wnet_error: ReadFile end-of-file errno = 109 | evt | Firebird e Interbase | 0 | 11-12-2007 14:38:55 |
![]() |
|