Jak spínat výstupy v bit-bang režimu?

Přesně takhle jsem to pochopil i já z manuálu ke knihovně D2XX. Mám nastavené první a poslední dva piny portu B jako vstupy, zbytek výstupy. Dejme tomu, že chci sepnout třetí pin (počítáno od pinu s nejnižší platností). Tady je přepis části zdrojáku, jak by to mělo být a jak jsem to zkoušel:

dataout := 4; //v bin soustavě 00000100
bytesTotransfer := 1;
ftStatus := FT_Write (ftHandleB, @dataout, bytesTotransfer, @bytesTotransfered);
if ftStatus <> 0
then MessageDlg(‘Chyba komunikace’, mtError, [mbOk], 0);

Ale takhle mi to právě nefunguje. Ať mám v proměnné dataout cokoliv, tak se mi nesepne nic. Naopak, když měním hodnotu v proměnné bytesTotransfer, tak se výstupy spínají ať je hodnota v proměnné dataout jakákoliv. Pro tenhle případ se mi výstup sepne, když jsou hodnoty následující:

dataout := 0;
bytesTotransfer := 14;
ftStatus := FT_Write (ftHandleB, @dataout, bytesTotransfer, @bytesTotransfered);
if ftStatus <> 0
then MessageDlg(‘Chyba komunikace’, mtError, [mbOk], 0);

Nevím, jak si to vysvětlit. Něco dělám špatně, ale netuším co.