diff --git a/packages/fcl-base/fcl_base_pas2js.lpk b/packages/fcl-base/fcl_base_pas2js.lpk index a3f34d8..ca97248 100644 --- a/packages/fcl-base/fcl_base_pas2js.lpk +++ b/packages/fcl-base/fcl_base_pas2js.lpk @@ -12,8 +12,10 @@ - - + + + + diff --git a/packages/fcl-db/db.pas b/packages/fcl-db/db.pas index 6d4846d..fbe3647 100644 --- a/packages/fcl-db/db.pas +++ b/packages/fcl-db/db.pas @@ -16,7 +16,7 @@ unit DB; {$mode objfpc} -{$h+} + { $define dsdebug} interface @@ -82,7 +82,7 @@ type FPreviousError : Integer; public constructor Create(NativeError, Context : String; - ErrCode, PrevError : integer; E: Exception); + ErrCode, PrevError : integer; E: Exception); reintroduce; Destructor Destroy; override; property Context : String read FContext; property ErrorCode : integer read FErrorcode; @@ -130,7 +130,7 @@ type protected procedure SetItemName(Item: TCollectionItem); override; public - constructor create(ADataset: TDataset; AOwner: TPersistent; AClass: TCollectionItemClass); + constructor create(ADataset: TDataset; AOwner: TPersistent; AClass: TCollectionItemClass); reintroduce; function Find(const AName: string): TNamedItem; procedure GetItemNames(List: TStrings); function IndexOf(const AName: string): Longint; @@ -178,21 +178,21 @@ type TFieldDefs = class(TDefCollection) private FHiddenFields : Boolean; - function GetItem(Index: Longint): TFieldDef; - procedure SetItem(Index: Longint; const AValue: TFieldDef); + function GetItem(Index: Longint): TFieldDef; reintroduce; + procedure SetItem(Index: Longint; const AValue: TFieldDef); reintroduce; Protected Class Function FieldDefClass : TFieldDefClass; virtual; public - constructor Create(ADataSet: TDataSet); + constructor Create(ADataSet: TDataSet); reintroduce; // destructor Destroy; override; - Function Add(const AName: string; ADataType: TFieldType; ASize, APrecision: Integer; ARequired, AReadOnly: Boolean; AFieldNo : Integer) : TFieldDef; overload; + Function Add(const AName: string; ADataType: TFieldType; ASize, APrecision{%H-}: Integer; ARequired, AReadOnly: Boolean; AFieldNo : Integer) : TFieldDef; overload; Function Add(const AName: string; ADataType: TFieldType; ASize: Word; ARequired: Boolean; AFieldNo : Integer) : TFieldDef; overload; procedure Add(const AName: string; ADataType: TFieldType; ASize: Word; ARequired: Boolean); overload; procedure Add(const AName: string; ADataType: TFieldType; ASize: Word); overload; procedure Add(const AName: string; ADataType: TFieldType); overload; Function AddFieldDef : TFieldDef; procedure Assign(FieldDefs: TFieldDefs); overload; - function Find(const AName: string): TFieldDef; + function Find(const AName: string): TFieldDef; reintroduce; // procedure Clear; // procedure Delete(Index: Longint); procedure Update; overload; @@ -219,7 +219,7 @@ type private FList: TFPList; public - constructor Create; + constructor Create; reintroduce; destructor Destroy; override; procedure Add(const AKey, AValue: JSValue); procedure Clear; @@ -315,25 +315,25 @@ type function GetCurValue: JSValue; virtual; function GetNewValue: JSValue; virtual; function GetIsNull: Boolean; virtual; - procedure GetText(var AText: string; ADisplayText: Boolean); virtual; + procedure GetText(var AText: string; ADisplayText{%H-}: Boolean); virtual; procedure Notification(AComponent: TComponent; Operation: TOperation); override; procedure PropertyChanged(LayoutAffected: Boolean); - procedure SetAsBoolean(AValue: Boolean); virtual; - procedure SetAsDateTime(AValue: TDateTime); virtual; - procedure SetAsFloat(AValue: Double); virtual; + procedure SetAsBoolean(AValue{%H-}: Boolean); virtual; + procedure SetAsDateTime(AValue{%H-}: TDateTime); virtual; + procedure SetAsFloat(AValue{%H-}: Double); virtual; procedure SetAsLongint(AValue: Longint); virtual; - procedure SetAsInteger(AValue: Longint); virtual; - procedure SetAsLargeInt(AValue: NativeInt); virtual; + procedure SetAsInteger(AValue{%H-}: Longint); virtual; + procedure SetAsLargeInt(AValue{%H-}: NativeInt); virtual; procedure SetAsJSValue(const AValue: JSValue); virtual; - procedure SetAsString(const AValue: string); virtual; + procedure SetAsString(const AValue{%H-}: string); virtual; procedure SetDataset(AValue : TDataset); virtual; procedure SetDataType(AValue: TFieldType); procedure SetNewValue(const AValue: JSValue); procedure SetSize(AValue: Integer); virtual; procedure SetParentComponent(Value: TComponent); override; procedure SetText(const AValue: string); virtual; - procedure SetVarValue(const AValue: JSValue); virtual; - procedure SetAsBytes(const AValue: TBytes); virtual; + procedure SetVarValue(const AValue{%H-}: JSValue); virtual; + procedure SetAsBytes(const AValue{%H-}: TBytes); virtual; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; @@ -348,7 +348,7 @@ type function IsValidChar(InputChar: Char): Boolean; virtual; procedure RefreshLookupList; procedure SetData(Buffer: JSValue); overload; - procedure SetFieldType(AValue: TFieldType); virtual; + procedure SetFieldType(AValue{%H-}: TFieldType); virtual; procedure Validate(Buffer: Pointer); property AsBoolean: Boolean read GetAsBoolean write SetAsBoolean; property AsDateTime: TDateTime read GetAsDateTime write SetAsDateTime; @@ -424,7 +424,7 @@ type function GetAsString: String; override; function GetAsJSValue: JSValue; override; function GetDefaultWidth: Longint; override; - procedure GetText(var AText: string; ADisplayText: Boolean); override; + procedure GetText(var AText: string; ADisplayText{%H-}: Boolean); override; procedure SetAsBoolean(AValue: Boolean); override; procedure SetAsDateTime(AValue: TDateTime); override; procedure SetAsFloat(AValue: Double); override; @@ -674,7 +674,7 @@ type protected function GetBlobSize: Longint; virtual; function GetIsNull: Boolean; override; - procedure GetText(var AText: string; ADisplayText: Boolean); override; + procedure GetText(var AText: string; ADisplayText{%H-}: Boolean); override; public constructor Create(AOwner: TComponent); override; procedure Clear; override; @@ -700,7 +700,7 @@ type TVariantField = class(TField) protected - class procedure CheckTypeSize(aValue: Integer); override; + class procedure CheckTypeSize(aValue{%H-}: Integer); override; function GetAsBoolean: Boolean; override; procedure SetAsBoolean(aValue: Boolean); override; @@ -763,14 +763,14 @@ type TIndexDefs = class(TDefCollection) Private - Function GetItem(Index: Integer): TIndexDef; - Procedure SetItem(Index: Integer; Value: TIndexDef); + Function GetItem(Index: Integer): TIndexDef; reintroduce; + Procedure SetItem(Index: Integer; Value: TIndexDef); reintroduce; public constructor Create(ADataSet: TDataSet); virtual; overload; - procedure Add(const Name, Fields: string; Options: TIndexOptions); + procedure Add(const Name, Fields: string; Options: TIndexOptions); reintroduce; Function AddIndexDef: TIndexDef; - function Find(const IndexName: string): TIndexDef; - function FindIndexForFields(const Fields: string): TIndexDef; + function Find(const IndexName: string): TIndexDef; reintroduce; + function FindIndexForFields(const Fields{%H-}: string): TIndexDef; function GetIndexForFields(const Fields: string; CaseInsensitive: Boolean): TIndexDef; procedure Update; overload; virtual; @@ -786,7 +786,7 @@ type FFromDictionary : Boolean; FImportedConstraint : String; public - procedure Assign(Source: TPersistent); override; + procedure Assign(Source{%H-}: TPersistent); override; // function GetDisplayName: string; override; published property CustomConstraint: string read FCustomConstraint write FCustomConstraint; @@ -799,13 +799,13 @@ type TCheckConstraints = class(TCollection) Private - Function GetItem(Index : Longint) : TCheckConstraint; - Procedure SetItem(index : Longint; Value : TCheckConstraint); + Function GetItem(Index{%H-} : Longint) : TCheckConstraint; reintroduce; + Procedure SetItem(index{%H-} : Longint; Value{%H-} : TCheckConstraint); reintroduce; protected function GetOwner: TPersistent; override; public - constructor Create(AOwner: TPersistent); - function Add: TCheckConstraint; + constructor Create(AOwner{%H-}: TPersistent); reintroduce; + function Add: TCheckConstraint; reintroduce; property Items[Index: Longint]: TCheckConstraint read GetItem write SetItem; default; end; @@ -817,7 +817,7 @@ type FFields: TFields; function GetCurrent: TField; public - constructor Create(AFields: TFields); + constructor Create(AFields: TFields); reintroduce; function MoveNext: Boolean; property Current: TField read GetCurrent; end; @@ -841,7 +841,7 @@ type Property OnChange : TNotifyEvent Read FOnChange Write FOnChange; Property ValidFieldKinds : TFieldKinds Read FValidFieldKinds; Public - Constructor Create(ADataset : TDataset); + Constructor Create(ADataset : TDataset); reintroduce; Destructor Destroy;override; Procedure Add(Field : TField); Procedure CheckFieldName (Const Value : String); @@ -875,7 +875,6 @@ type TParam = class(TCollectionItem) private - FNativeStr: string; FValue: JSValue; FPrecision: Integer; FNumericScale: Integer; @@ -886,7 +885,6 @@ type FSize: Integer; Function GetDataSet: TDataSet; Function IsParamStored: Boolean; - procedure SetAsBytes(AValue: TBlobData); protected Procedure AssignParam(Param: TParam); Procedure AssignTo(Dest: TPersistent); override; @@ -904,7 +902,7 @@ type Function IsEqual(AValue: TParam): Boolean; Procedure SetAsBlob(const AValue: TBlobData); Procedure SetAsBoolean(AValue: Boolean); - Procedure SetAsBytes(const AValue: TBytes); + Procedure SetAsBytes(const AValue{%H-}: TBytes); Procedure SetAsDate(const AValue: TDateTime); Procedure SetAsDateTime(const AValue: TDateTime); Procedure SetAsFloat(const AValue: Double); @@ -957,9 +955,9 @@ type TParams = class(TCollection) private FOwner: TPersistent; - Function GetItem(Index: Integer): TParam; + Function GetItem(Index: Integer): TParam; reintroduce; Function GetParamValue(const ParamName: string): JSValue; - Procedure SetItem(Index: Integer; Value: TParam); + Procedure SetItem(Index: Integer; Value: TParam); reintroduce; Procedure SetParamValue(const ParamName: string; const Value: JSValue); protected Procedure AssignTo(Dest: TPersistent); override; @@ -969,7 +967,7 @@ type public Constructor Create(AOwner: TPersistent; AItemClass : TCollectionItemClass); overload; Constructor Create(AOwner: TPersistent); overload; - Constructor Create; overload; + Constructor Create; overload; reintroduce; Procedure AddParam(Value: TParam); Procedure AssignValues(Value: TParams); Function CreateParam(FldType: TFieldType; const ParamName: string; ParamType: TParamType): TParam; @@ -1124,10 +1122,10 @@ type protected // Proxy methods // Override this to integrate package in local data - function DoResolveRecordUpdate(anUpdate: TRecordUpdateDescriptor): Boolean; virtual; + function DoResolveRecordUpdate(anUpdate{%H-}: TRecordUpdateDescriptor): Boolean; virtual; Function GetRecordUpdates(AList: TRecordUpdateDescriptorList) : Integer; virtual; procedure ResolveUpdateBatch(Sender: TObject; aBatch: TRecordUpdateBatch); virtual; - Function DataPacketReceived(ARequest: TDataRequest) : Boolean; virtual; + Function DataPacketReceived(ARequest{%H-}: TDataRequest) : Boolean; virtual; function DoLoad(aOptions: TLoadOptions; aAfterLoad: TDatasetLoadEvent): Boolean; virtual; function DoGetDataProxy: TDataProxy; virtual; Procedure InitChangeList; virtual; @@ -1148,8 +1146,8 @@ type procedure CheckBiDirectional; procedure Loaded; override; procedure ClearBuffers; virtual; - procedure ClearCalcFields(var Buffer: TDataRecord); virtual; - procedure CloseBlob(Field: TField); virtual; + procedure ClearCalcFields(var Buffer{%H-}: TDataRecord); virtual; + procedure CloseBlob(Field{%H-}: TField); virtual; procedure CloseCursor; virtual; procedure CreateFields; virtual; procedure DataEvent(Event: TDataEvent; Info: JSValue); virtual; @@ -1179,7 +1177,7 @@ type procedure DoBeforeApplyUpdates; virtual; procedure DoAfterApplyUpdates;virtual; function FieldByNumber(FieldNo: Longint): TField; - function FindRecord(Restart, GoForward: Boolean): Boolean; virtual; + function FindRecord(Restart{%H-}, GoForward{%H-}: Boolean): Boolean; virtual; function GetBookmarkStr: TBookmarkStr; virtual; procedure GetCalcFields(Var Buffer: TDataRecord); virtual; function GetCanModify: Boolean; virtual; @@ -1187,7 +1185,7 @@ type function GetFieldClass(FieldType: TFieldType): TFieldClass; virtual; Function GetfieldCount : Integer; function GetFieldValues(const FieldName : string) : JSValue; virtual; - function GetIsIndexField(Field: TField): Boolean; virtual; + function GetIsIndexField(Field{%H-}: TField): Boolean; virtual; function GetIndexDefs(IndexDefs : TIndexDefs; IndexTypes : TIndexOptions) : TIndexDefs; function GetNextRecords: Longint; virtual; function GetNextRecord: Boolean; virtual; @@ -1204,7 +1202,7 @@ type procedure InternalRefresh; virtual; procedure OpenCursor(InfoQuery: Boolean); virtual; procedure OpenCursorcomplete; virtual; - procedure RefreshInternalCalcFields(Var Buffer: TDataRecord); virtual; + procedure RefreshInternalCalcFields(Var Buffer{%H-}: TDataRecord); virtual; procedure RestoreState(const Value: TDataSetState); Procedure SetActive (Value : Boolean); virtual; procedure SetBookmarkStr(const Value: TBookmarkStr); virtual; @@ -1220,7 +1218,7 @@ type procedure SetModified(Value: Boolean); procedure SetName(const NewName: TComponentName); override; procedure SetOnFilterRecord(const Value: TFilterRecordEvent); virtual; - procedure SetRecNo(Value: Longint); virtual; + procedure SetRecNo(Value{%H-}: Longint); virtual; procedure SetState(Value: TDataSetState); function SetTempState(const Value: TDataSetState): TDataSetState; Function TempBuffer: TDataRecord; @@ -1235,22 +1233,22 @@ type property InternalCalcFields: Boolean read FInternalCalcFields; property Constraints: TCheckConstraints read FConstraints write SetConstraints; function AllocRecordBuffer: TDataRecord; virtual; - procedure FreeRecordBuffer(var Buffer: TDataRecord); virtual; - procedure GetBookmarkData(Buffer: TDataRecord; var Data: TBookmark); virtual; - function GetBookmarkFlag(Buffer: TDataRecord): TBookmarkFlag; virtual; + procedure FreeRecordBuffer(var Buffer{%H-}: TDataRecord); virtual; + procedure GetBookmarkData(Buffer{%H-}: TDataRecord; var Data{%H-}: TBookmark); virtual; + function GetBookmarkFlag(Buffer{%H-}: TDataRecord): TBookmarkFlag; virtual; function GetDataSource: TDataSource; virtual; function GetRecordSize: Word; virtual; - procedure InternalAddRecord(Buffer: Pointer; AAppend: Boolean); virtual; + procedure InternalAddRecord(Buffer{%H-}: Pointer; AAppend{%H-}: Boolean); virtual; procedure InternalDelete; virtual; procedure InternalFirst; virtual; - procedure InternalGotoBookmark(ABookmark: TBookmark); virtual; + procedure InternalGotoBookmark(ABookmark{%H-}: TBookmark); virtual; procedure InternalHandleException(E: Exception); virtual; - procedure InternalInitRecord(var Buffer: TDataRecord); virtual; + procedure InternalInitRecord(var Buffer{%H-}: TDataRecord); virtual; procedure InternalLast; virtual; procedure InternalPost; virtual; - procedure InternalSetToRecord(Buffer: TDataRecord); virtual; - procedure SetBookmarkFlag(Var Buffer: TDataRecord; Value: TBookmarkFlag); virtual; - procedure SetBookmarkData(Var Buffer: TDataRecord; Data: TBookmark); virtual; + procedure InternalSetToRecord(Buffer{%H-}: TDataRecord); virtual; + procedure SetBookmarkFlag(Var Buffer{%H-}: TDataRecord; Value{%H-}: TBookmarkFlag); virtual; + procedure SetBookmarkData(Var Buffer{%H-}: TDataRecord; Data{%H-}: TBookmark); virtual; procedure SetUniDirectional(const Value: Boolean); procedure Notification(AComponent: TComponent; Operation: TOperation); override; // These use the active buffer @@ -1273,10 +1271,10 @@ type function ActiveBuffer: TDataRecord; procedure Append; procedure AppendRecord(const Values: array of jsValue); - function BookmarkValid(ABookmark: TBookmark): Boolean; virtual; + function BookmarkValid(ABookmark{%H-}: TBookmark): Boolean; virtual; function ConvertToDateTime(aValue : JSValue; ARaiseException : Boolean) : TDateTime; virtual; function ConvertDateTimeToNative(aValue : TDateTime) : JSValue; virtual; - Class function DefaultConvertToDateTime(aValue : JSValue; ARaiseException : Boolean) : TDateTime; virtual; + Class function DefaultConvertToDateTime(aValue : JSValue; ARaiseException{%H-} : Boolean) : TDateTime; virtual; Class function DefaultConvertDateTimeToNative(aValue : TDateTime) : JSValue; virtual; Function BlobDataToBytes(aValue : JSValue) : TBytes; virtual; Class Function DefaultBlobDataToBytes(aValue : JSValue) : TBytes; virtual; @@ -1288,7 +1286,7 @@ type procedure Close; Procedure ApplyUpdates; function ControlsDisabled: Boolean; - function CompareBookmarks(Bookmark1, Bookmark2: TBookmark): Longint; virtual; + function CompareBookmarks(Bookmark1{%H-}, Bookmark2{%H-}: TBookmark): Longint; virtual; procedure CursorPosChanged; procedure Delete; virtual; procedure DisableControls; @@ -1301,21 +1299,21 @@ type function FindNext: Boolean; virtual; function FindPrior: Boolean; virtual; procedure First; - procedure FreeBookmark(ABookmark: TBookmark); virtual; + procedure FreeBookmark(ABookmark{%H-}: TBookmark); virtual; function GetBookmark: TBookmark; virtual; - function GetCurrentRecord(Buffer: TDataRecord): Boolean; virtual; + function GetCurrentRecord(Buffer{%H-}: TDataRecord): Boolean; virtual; procedure GetFieldList(List: TList; const FieldNames: string); procedure GetFieldNames(List: TStrings); procedure GotoBookmark(const ABookmark: TBookmark); - procedure Insert; + procedure Insert; reintroduce; procedure InsertRecord(const Values: array of JSValue); function IsEmpty: Boolean; function IsLinkedTo(ADataSource: TDataSource): Boolean; function IsSequenced: Boolean; virtual; procedure Last; Function Load(aOptions : TLoadOptions; aAfterLoad : TDatasetLoadEvent) : Boolean; - function Locate(const KeyFields: string; const KeyValues: JSValue; Options: TLocateOptions) : boolean; virtual; - function Lookup(const KeyFields: string; const KeyValues: JSValue; const ResultFields: string): JSValue; virtual; + function Locate(const KeyFields{%H-}: string; const KeyValues{%H-}: JSValue; Options{%H-}: TLocateOptions) : boolean; virtual; + function Lookup(const KeyFields{%H-}: string; const KeyValues{%H-}: JSValue; const ResultFields{%H-}: string): JSValue; virtual; function MoveBy(Distance: Longint): Longint; procedure Next; procedure Open; @@ -1406,9 +1404,9 @@ type procedure CheckBrowseMode; virtual; procedure DataEvent(Event: TDataEvent; Info: JSValue); virtual; procedure DataSetChanged; virtual; - procedure DataSetScrolled(Distance: Integer); virtual; + procedure DataSetScrolled(Distance{%H-}: Integer); virtual; procedure EditingChanged; virtual; - procedure FocusControl(Field: JSValue); virtual; + procedure FocusControl(Field{%H-}: JSValue); virtual; function GetActiveRecord: Integer; virtual; function GetBOF: Boolean; virtual; function GetBufferCount: Integer; virtual; @@ -1416,14 +1414,14 @@ type function GetRecordCount: Integer; virtual; procedure LayoutChanged; virtual; function MoveBy(Distance: Integer): Integer; virtual; - procedure RecordChanged(Field: TField); virtual; + procedure RecordChanged(Field{%H-}: TField); virtual; procedure SetActiveRecord(Value: Integer); virtual; procedure SetBufferCount(Value: Integer); virtual; procedure UpdateData; virtual; property VisualControl: Boolean read FVisualControl write FVisualControl; property FirstRecord: Integer read FFirstRecord write FFirstRecord; public - constructor Create; + constructor Create; reintroduce; destructor Destroy; override; function Edit: Boolean; procedure UpdateRecord; @@ -1468,7 +1466,7 @@ type Procedure DoMasterDisable; virtual; Procedure DoMasterChange; virtual; public - constructor Create(ADataSet: TDataSet);virtual; + constructor Create(ADataSet: TDataSet);virtual; reintroduce; destructor Destroy; override; property FieldNames: string read FFieldNames write SetFieldNames; property Fields: TList read FFields; @@ -1521,7 +1519,7 @@ type constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure Edit; - function IsLinkedTo(ADataSet: TDataSet): Boolean; + function IsLinkedTo(ADataSet{%H-}: TDataSet): Boolean; property State: TDataSetState read FState; published property AutoEdit: Boolean read FAutoEdit write FAutoEdit default True; @@ -1553,7 +1551,7 @@ type Protected Procedure DoAfterRequest; Public - Constructor Create(aDataProxy : TDataProxy; aOptions: TLoadOptions; aAfterRequest: TDataRequestEvent; aAfterLoad: TDatasetLoadEvent); virtual; + Constructor Create(aDataProxy : TDataProxy; aOptions: TLoadOptions; aAfterRequest: TDataRequestEvent; aAfterLoad: TDatasetLoadEvent); virtual; reintroduce; property DataProxy : TDataProxy Read FDataProxy; Property Dataset : TDataset Read FDataset; Property Bookmark : TBookMark Read FBookmark; @@ -1582,7 +1580,7 @@ type Protected Procedure SetStatus(aValue : TUpdateStatus); virtual; Public - Constructor Create(aProxy : TDataProxy; aDataset : TDataset; aBookmark : TBookMark; AData : JSValue; AStatus : TUpdateStatus); + Constructor Create(aProxy : TDataProxy; aDataset : TDataset; aBookmark : TBookMark; AData : JSValue; AStatus : TUpdateStatus); reintroduce; Procedure Resolve(aData : JSValue); Procedure ResolveFailed(aError : String); Property Proxy : TDataProxy read FProxy; @@ -1621,7 +1619,7 @@ type Protected Property LastChangeIndex : Integer Read FLastChangeIndex; Public - Constructor Create (aBatchID : Integer; AList : TRecordUpdateDescriptorList; AOwnsList : Boolean); + Constructor Create (aBatchID : Integer; AList : TRecordUpdateDescriptorList; AOwnsList : Boolean); reintroduce; Destructor Destroy; override; Procedure FreeList; Property Dataset : TDataset Read FDataset Write FDataset; @@ -2089,6 +2087,7 @@ function TIndexDefs.FindIndexForFields(const Fields: string): TIndexDef; begin //!! To be implemented + Result:=nil; end; @@ -2723,6 +2722,7 @@ function TDataSet.FindRecord(Restart, GoForward: Boolean): Boolean; begin //!! To be implemented + Result:=false; end; @@ -5168,7 +5168,7 @@ end; function TField.AccessError(const TypeName: string): EDatabaseError; begin - Raise EDatabaseError.CreateFmt(SinvalidTypeConversion,[TypeName,FFieldName]); + Result:=EDatabaseError.CreateFmt(SinvalidTypeConversion,[TypeName,FFieldName]); end; procedure TField.Assign(Source: TPersistent); @@ -5255,12 +5255,14 @@ end; function TField.GetAsBoolean: Boolean; begin raiseAccessError(SBoolean); + Result:=false; end; function TField.GetAsBytes: TBytes; begin raiseAccessError(SBytes); + Result:=nil; end; @@ -5268,17 +5270,20 @@ function TField.GetAsDateTime: TDateTime; begin raiseAccessError(SdateTime); + Result:=0.0; end; function TField.GetAsFloat: Double; begin raiseAccessError(SDateTime); + Result:=0.0; end; function TField.GetAsLargeInt: NativeInt; begin RaiseAccessError(SLargeInt); + Result:=0; end; function TField.GetAsLongint: Longint; @@ -5291,6 +5296,7 @@ function TField.GetAsInteger: Longint; begin RaiseAccessError(SInteger); + Result:=0; end; function TField.GetAsJSValue: JSValue; @@ -8425,11 +8431,6 @@ begin Result:=Bound; end; -procedure TParam.SetAsBytes(AValue: TBlobData); -begin - FValue:=TDataset.DefaultBytesToBlobData(aValue); -end; - Procedure TParam.AssignParam(Param: TParam); begin if Not Assigned(Param) then diff --git a/packages/fcl-db/extjsdataset.pas b/packages/fcl-db/extjsdataset.pas index 7b6d2a7..4c063da 100644 --- a/packages/fcl-db/extjsdataset.pas +++ b/packages/fcl-db/extjsdataset.pas @@ -1,6 +1,6 @@ unit ExtJSDataset; -{$mode objfpc}{$H+} +{$mode objfpc} interface @@ -147,8 +147,8 @@ procedure TExtJSJSONDataSet.MetaDataToFieldDefs; Var A : TJSArray; F : TJSObject; - I,J,FS : Integer; - N,idf : String; + I,FS : Integer; + N: String; ft: TFieldType; D : JSValue; @@ -348,7 +348,7 @@ procedure TExtJSJSONDataSet.InitDateTimeFields; Var F : TJSObject; FF : TField; - I,J : Integer; + I: Integer; Fmt : String; D : JSValue; diff --git a/packages/fcl-db/jsondataset.pas b/packages/fcl-db/jsondataset.pas index b577d32..dde33e7 100644 --- a/packages/fcl-db/jsondataset.pas +++ b/packages/fcl-db/jsondataset.pas @@ -1,5 +1,5 @@ {$mode objfpc} -{$h+} + unit JSONDataset; interface @@ -72,7 +72,7 @@ type Property Rows : TJSArray Read FRows; Property Dataset : TDataset Read FDataset; Public - Constructor Create(aDataset: TDataset; aRows : TJSArray); + Constructor Create(aDataset: TDataset; aRows : TJSArray); reintroduce; // Append remainder of FRows to FList. Procedure AppendToIndex; virtual; abstract; // Delete aListIndex from list, not from row. Return Recordindex of deleted record. @@ -80,7 +80,7 @@ type // Append aRecordIndex to list. Return ListIndex of appended record. Function Append(aRecordIndex : Integer) : Integer; virtual; abstract; // Insert record into list. By default, this does an append. Return ListIndex of inserted record - Function Insert(aCurrentIndex, aRecordIndex : Integer) : Integer; virtual; + Function Insert(aCurrentIndex{%H-}, aRecordIndex : Integer) : Integer; virtual; // Record at index aCurrentIndex has changed. Update index and return new listindex. Function Update(aCurrentIndex, aRecordIndex : Integer) : Integer; virtual; abstract; // Find list index for Record at index aCurrentIndex. Return -1 if not found. @@ -129,7 +129,7 @@ type function AllocRecordBuffer: TDataRecord; override; procedure FreeRecordBuffer(var Buffer: TDataRecord); override; procedure InternalInitRecord(var Buffer: TDataRecord); override; - function GetRecord(Var Buffer: TDataRecord; GetMode: TGetMode; DoCheck: Boolean): TGetResult; override; + function GetRecord(Var Buffer: TDataRecord; GetMode: TGetMode; DoCheck{%H-}: Boolean): TGetResult; override; function GetRecordSize: Word; override; procedure AddToRows(AValue: TJSArray); procedure InternalClose; override; @@ -146,7 +146,6 @@ type function GetFieldClass(FieldType: TFieldType): TFieldClass; override; function IsCursorOpen: Boolean; override; // Bookmark operations - function BookmarkValid(ABookmark: TBookmark): Boolean; override; procedure GetBookmarkData(Buffer: TDataRecord; var Data: TBookmark); override; function GetBookmarkFlag(Buffer: TDataRecord): TBookmarkFlag; override; procedure InternalGotoBookmark(ABookmark: TBookmark); override; @@ -188,7 +187,8 @@ type constructor Create (AOwner: TComponent); override; destructor Destroy; override; function GetFieldData(Field: TField; Buffer: TDatarecord): JSValue; override; - procedure SetFieldData(Field: TField; var Buffer: TDatarecord; AValue : JSValue); override; + procedure SetFieldData(Field: TField; var Buffer{%H-}: TDatarecord; AValue : JSValue); override; + function BookmarkValid(ABookmark: TBookmark): Boolean; override; function CompareBookmarks(Bookmark1, Bookmark2: TBookmark): Longint; override; end; @@ -225,8 +225,8 @@ type // Fieldmapper to be used when the data is in an object TJSONObjectFieldMapper = Class(TJSONFieldMapper) Public - procedure SetJSONDataForField(Const FieldName : String; FieldIndex : Integer; Row,Data : JSValue); override; - Function GetJSONDataForField(Const FieldName : String; FieldIndex : Integer; Row : JSValue) : JSValue; override; + procedure SetJSONDataForField(Const FieldName : String; FieldIndex{%H-} : Integer; Row,Data : JSValue); override; + Function GetJSONDataForField(Const FieldName : String; FieldIndex{%H-} : Integer; Row : JSValue) : JSValue; override; Function CreateRow : JSValue; override; end; @@ -234,8 +234,8 @@ type // Fieldmapper to be used when the data is in an array TJSONArrayFieldMapper = Class(TJSONFieldMapper) Public - procedure SetJSONDataForField(Const FieldName : String; FieldIndex : Integer; Row,Data : JSValue); override; - Function GetJSONDataForField(Const FieldName : String; FieldIndex : Integer; Row : JSValue) : JSValue; override; + procedure SetJSONDataForField(Const FieldName{%H-} : String; FieldIndex : Integer; Row,Data : JSValue); override; + Function GetJSONDataForField(Const FieldName{%H-} : String; FieldIndex : Integer; Row : JSValue) : JSValue; override; Function CreateRow : JSValue; override; end; @@ -289,6 +289,7 @@ end; function TDefaultJSONIndex.Update(aCurrentIndex, aRecordIndex: Integer ): Integer; begin + Result:=0; If RecordIndex[aCurrentIndex]<>aRecordIndex then DatabaseErrorFmt('Inconsistent record index in default index, expected %d, got %d.',[aCurrentIndex,RecordIndex[aCurrentIndex]],Dataset); end; diff --git a/packages/fcl-db/pas2js_fcldb.lpk b/packages/fcl-db/pas2js_fcldb.lpk index 81ef28b..10b685a 100644 --- a/packages/fcl-db/pas2js_fcldb.lpk +++ b/packages/fcl-db/pas2js_fcldb.lpk @@ -11,8 +11,10 @@ - - + + + + @@ -36,7 +38,7 @@ - + diff --git a/packages/fcl-db/restconnection.pas b/packages/fcl-db/restconnection.pas index d214384..aaaa01c 100644 --- a/packages/fcl-db/restconnection.pas +++ b/packages/fcl-db/restconnection.pas @@ -1,6 +1,6 @@ unit RestConnection; -{$mode objfpc}{$H+} +{$mode objfpc} interface @@ -58,7 +58,7 @@ Type Private FXHR : TJSXMLHttpRequest; protected - function onLoad(Event: TEventListenerEvent): boolean; virtual; + function onLoad(Event{%H-}: TEventListenerEvent): boolean; virtual; function TransformResult: JSValue; virtual; end; @@ -69,7 +69,7 @@ Type FXHR : TJSXMLHttpRequest; FBatch : TRecordUpdateBatch; protected - function onLoad(Event: TEventListenerEvent): boolean; virtual; + function onLoad(Event{%H-}: TEventListenerEvent): boolean; virtual; end; implementation diff --git a/packages/fpcunit/fpcunit_pas2js.lpk b/packages/fpcunit/fpcunit_pas2js.lpk index 29b7edc..c67350f 100644 --- a/packages/fpcunit/fpcunit_pas2js.lpk +++ b/packages/fpcunit/fpcunit_pas2js.lpk @@ -11,7 +11,10 @@ - + + + + diff --git a/packages/fpcunit/htmltestreport.pp b/packages/fpcunit/htmltestreport.pp index 6c70a89..5b7c569 100644 --- a/packages/fpcunit/htmltestreport.pp +++ b/packages/fpcunit/htmltestreport.pp @@ -1,6 +1,6 @@ unit htmltestreport; -{$mode objfpc}{$H+} +{$mode objfpc} interface