In Linux environment the following code:
try
USBOut := FileOpen(UsbDev,fmOpenWrite);
except
result := True;
end;
is used in a Lazarus application to get a handle to write to an USB
device, and did work fine in fpc 2.4.
I migrated the application to Lazarus 1.0 wich uses fpc 2.6, and it
stopped working. FileOpen returns -1, without rising an exception, which
made me struggle to find out what was happening.
To make it work I had to change from FileOpen to FileCreate, but I fail
to understand the rationale behind that.
The file does exist because it's a physical device (/dev/ttyACM0), its
existence is checked before that code, and the call to
FileOpen(UsbDev,fmOpenRead) just before the above lines works properly
so I don't understand while it should be created, and not just opened.
Moreover I don't understand why the call returns a -1, meaning that the
Open failed, without rising an exception.
Is there a good reason for this change from 2.4 to 2.6 or it's just a bug?
--
Giuliano Colla
Before activating the tongue, make sure that the brain is connected
(anonymous)
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal