[fpc-pascal] opening a serial port in a dll called from dot net fails
Luca Olivetti
luca at ventoso.org
Mon Mar 11 15:51:35 CET 2024
El 11/3/24 a les 11:38, Elmar Haneke via fpc-pascal ha escrit:
> Presumably the problem is caused by calling your function from a
> different thread.
>
> Perhaps it is a solution to put the SerOpen in a thread created by FPC
> and signal that thread from your dot-net-called function.
>
Nope, I tried, same error.
> Am 09.03.24 um 16:24 schrieb Luca Olivetti via fpc-pascal:
>> I'm writing a dll that is used by a dot net application (32bits).
>>
>> If I call SerOpen in the initialization section of the dll there is no
>> problem, but if I call it from one of the exported functions it gives
>> me an access denied (GetLastError gives me a 5), and I really need to
>> call it from a function (due to some quirks in the calling program
>> which is not under my control).
>>
>> A search in the usual places tells me that in dot net opening a serial
>> port with CreateFile (which is what SerOpen does) is forbidden, that
>> you should use the SerialPort class (which I don't think I can do from
>> my dll written in freepascal).
>>
>> Is there any way to solve my problem?
More information about the fpc-pascal
mailing list