> One idea concerning to your problem: AFAIK, Synaser
> inits COM port by the sequence:
> 
>    - clear DCB
>    - set some fields of DCB
>    - SetCommState(DCB)

Not anymore :)

> 
> whereas typical implementation is
> 
>    - GetCommState(DBC)
>    - change some fields of DCB
>    - SetCommState(DCB)
> 

As in synaser, actually.

> Perhaps you could test what happens if you replace
> the command FillChar(...) by GetCommState(...)
> 
> HTH, pf
> 

There is a bug (well, an "unimplemented" part of code) in file synaser.pas,
 in method TBlockSerial.cpomComportAccessible, in the orphan lock
 remove part.
There is call to Libc.getsid, when not fpc and then removal lock file.

in fpc (we are in fpc, arent'we?) there is NOTHING.

So, there is already function FPGetSid, so we change the test to:

if Libc.getsid(ReadLockFile) = -1 then ...

to

if FPGetSid(ReadLockFile) = -1 then ...

and remove unnecessary "ifdef fpc" braces (I guess - but I have removed them)
- the whole thing begins to work with no(? - so far - so good) hassle.

Jakub Husak




------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
synalist-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synalist-public

Reply via email to