Toon posts:

[XP] Error bij lezen LPT poort

Pagina: 1
Acties:

Verwijderd

Topicstarter
Schrijven naar LPT gaat prima, maar lezen gaat mis.
Ik programmeer in FreePascal (win32) in XP, en gebruik DLPortIO.dll voor de communicatie. Hier een stuk code:
<pre>

procedure DlPortWritePortUchar(port: longint; value: byte); cdecl; external 'dlportio';

function DlPortReadPortUchar(port: longint): byte; cdecl; external 'dlportio';


...
var
res: byte;
port: longint;

begin
port := 632; //lpt2
res := 0;

DlPortWritePortUchar(port,155); // dit gaat goed

res := DlPortReadPortUchar(port+1); // dit gaat fout
// als ik bovenstaande regel uitvink, komt geen error

writeln(inttostr(res)); // inttostr werkt wel goed
end.
</pre>

Output:

<pre>

Runtime error 216 at 0x0040130C
0x00.....
...

</pre>

De voorbeeld programmaatjes (in VB en C) van DlPortIO doen het wel prima (zowel lezen als schrijven). Er zat geen Pascal voorbeeld bij. Ik snap niet wat er mis is met mijn programma. Bvbd!

Verwijderd

Topicstarter
Vreemd genoeg werkt het nu opeens wel. Ik heb nog niet alles getest, maar er zijn geen runtime errors meer. Is het vaker voorgekomen dat DlPortIO soms wel en soms geen errors geven? Of het zou aan FreePascal kunnen liggen, dat nog niet perfect werkt onder WinXP.