[Lazarus] Undefined value in SdpoSerial
Bo Berglund
bo.berglund at gmail.com
Tue Nov 2 18:59:14 CET 2010
On Tue, 02 Nov 2010 14:23:33 +0000, Paulo Costa <paco at fe.up.pt> wrote:
>On 02/11/2010 07:20, Bo Berglund wrote:
>> I am working on a serial communications class and I have been adviced
>> to use the 5dpo component.
>>
>> But when I am writing the initialization part of my class I discovered
>> that there is a field value defined and used that does not get an
>> initialization value...
>
>?
> From the source code:
>
>constructor TSdpoSerial.Create(AOwner: TComponent);
>begin
> inherited;
> ...
> FHardflow:=false;
> FSoftflow:=false;
> FFlowControl:=fcNone;
> ...
>end;
The top line of my file reads:
{ SdpoSerial v0.1.3
Here is the constructor from my file:
constructor TSdpoSerial.Create(AOwner: TComponent);
begin
inherited;
//FHandle:=-1;
ReadThread:=nil;
FSynSer:=TBlockSerial.Create;
FSynSer.LinuxLock:=false;
{$IFDEF LINUX}
FDevice:='/dev/ttyS0';
{$ELSE}
FDevice:='COM1';
{$ENDIF}
// FBaudRate:=br115200;
end;
As you can see there is no sig of any flow control setting.
And I did not put in the comments...
>
>> The flowcontrol is set by FSoftflow and FHardflow but there is no
>> place in the 5dpo code where these fields are initialized to some
>> valid value.
>> And they are not exposed in a setter or getter either.
>>
>> Why?
>
>??
> property FlowControl: TFlowControl read FFlowControl write
>SetFlowControl;
>
>
>FSoftflow and FHardflow are set/reset by flowcontrol and it is exposed.
>
Again here is from my source file:
published
property Active: boolean read FActive write SetActive;
property BaudRate: TBaudRate read FBaudRate write SetBaudRate; //
default br115200;
property DataBits: TDataBits read FDataBits write SetDataBits;
property Parity: TParity read FParity write SetParity;
// property FlowControl: TFlowControl read FFlowControl write
SetFlowControl;
property StopBits: TStopBits read FStopBits write SetStopBits;
property SynSer: TBlockSerial read FSynSer write FSynSer;
property Device: string read FDevice write FDevice;
property OnRxData: TNotifyEvent read FOnRxData write FOnRxData;
end;
As you can see the property FlowControl has been commented out...
The file date is 2010-03-30 and it comes from a download I did some
weeks ago. I am trying hard to find it right now...
--
Bo Berglund
Developer in Sweden
More information about the Lazarus
mailing list