Цитата:
Сообщение от Aristarh Dark
Думаю вот такой вариант будет работать:
Код:
{$IF (sizeof(Char)=2)} // для unicode
function COMRead(AHandle: THandle): RawByteString; overload;
function COMWrite(AHandle: THandle; Data: RawByteString): Cardinal; overload;
{$ELSE}
function COMRead(AHandle: THandle): String; overload;
function COMWrite(AHandle: THandle; Data: string): Cardinal; overload;
{$ENDIF}
|
Странно - у меня этот блок не работает.
Правда, функции function COMRead(AHandle: THandle): String; - у меня нет.
Какая из этих функций отвечает за чтение из порта?
Код:
function AccessCOM(P:PChar):boolean;
stdcall; external 'comapi32.dll';
function OpenCOM(P:PChar):boolean;
stdcall; external 'comapi32.dll';
function CloseCOM:boolean;
stdcall; external 'comapi32.dll';
function SetCOM(baud:DWORD;
bsize,parity,
sbits:BYTE):boolean;
stdcall; external 'comapi32.dll';
function SetModCOM(baud:DWORD;bsize,parity,
sbits:BYTE;DTR,
RTS:boolean):boolean;
stdcall; external 'comapi32.dll';
function SetCOMTo(RdIvl,RdTotM,RdTotC,
WrTotM,WrTotC:DWORD):boolean;
stdcall; external 'comapi32.dll';
function SetCOMBuff(RdBuff,
WrBuff:DWORD):boolean;
stdcall; external 'comapi32.dll';
function EscFuncCOM(F:DWORD):boolean;
stdcall; external 'comapi32.dll';
function GetModem(var lpD:DWORD):boolean;
stdcall; external 'comapi32.dll';
function PurgeCOM:boolean;
stdcall; external 'comapi32.dll';
function FlushCOM:boolean;
stdcall; external 'comapi32.dll';
function TxByteCOM(data:byte):boolean;
stdcall; external 'comapi32.dll';
function TxDataCOM(const Buffer; N:DWORD;
var lpNDone:DWORD):boolean;
stdcall; external 'comapi32.dll';
function RxDataCOM(var Buffer; N:DWORD;
var lpNDone:DWORD):boolean;
stdcall; external 'comapi32.dll';
function ClrErrCOM(var lpE:DWORD):boolean;
stdcall; external 'comapi32.dll';
или - отсюда?
Код:
private
function ReadParams:Boolean;
procedure PClear;
procedure Open_COM(n:Integer);
procedure DisableControls;
procedure ReadConfig;
Удивляюсь - неужели фирма-разработчик продукта или наши умельцы не разработали до сих пор патч, чтобы решить вопрос перехода на уникод на системном уровне?!