diff --git a/components/jvcllaz/packages/jvappfrmlazd.lpk b/components/jvcllaz/packages/jvappfrmlazd.lpk index 143e8ca8d..53a573214 100644 --- a/components/jvcllaz/packages/jvappfrmlazd.lpk +++ b/components/jvcllaz/packages/jvappfrmlazd.lpk @@ -14,7 +14,7 @@ +- animated icons, animated title, form wallpaper"/> @@ -24,6 +24,7 @@ + diff --git a/components/jvcllaz/packages/jvappfrmlazr.lpk b/components/jvcllaz/packages/jvappfrmlazr.lpk index 3126584a8..078d6786e 100644 --- a/components/jvcllaz/packages/jvappfrmlazr.lpk +++ b/components/jvcllaz/packages/jvappfrmlazr.lpk @@ -13,7 +13,7 @@ +- animated icons, animated title, form wallpaper"/> @@ -34,6 +34,7 @@ + diff --git a/components/jvcllaz/packages/jvcorelazr.lpk b/components/jvcllaz/packages/jvcorelazr.lpk index acc4f84a6..28b7c1205 100644 --- a/components/jvcllaz/packages/jvcorelazr.lpk +++ b/components/jvcllaz/packages/jvcorelazr.lpk @@ -3,7 +3,6 @@ - diff --git a/components/jvcllaz/packages/jvctrlslazd.lpk b/components/jvcllaz/packages/jvctrlslazd.lpk index 437c3c7b8..6b1e250f5 100644 --- a/components/jvcllaz/packages/jvctrlslazd.lpk +++ b/components/jvcllaz/packages/jvctrlslazd.lpk @@ -34,6 +34,7 @@ Movable bevel and panel, ruler, expandable panel (RollOut), group header, hypert + diff --git a/components/jvcllaz/packages/jvctrlslazr.lpk b/components/jvcllaz/packages/jvctrlslazr.lpk index 2811b1af8..b12031a0a 100644 --- a/components/jvcllaz/packages/jvctrlslazr.lpk +++ b/components/jvcllaz/packages/jvctrlslazr.lpk @@ -63,6 +63,7 @@ Movable bevel and panel, ruler, exandable panel (RollOut), group header, hyperte + diff --git a/components/jvcllaz/packages/jvcustomlazd.lpk b/components/jvcllaz/packages/jvcustomlazd.lpk index 873c4b8e2..bf2f5bbf6 100644 --- a/components/jvcllaz/packages/jvcustomlazd.lpk +++ b/components/jvcllaz/packages/jvcustomlazd.lpk @@ -37,6 +37,7 @@ TimeLine, OutlookBar, Thumbnail viewer, ImageViewer, ImageListViewer, OwnerDrawV + diff --git a/components/jvcllaz/packages/jvcustomlazr.lpk b/components/jvcllaz/packages/jvcustomlazr.lpk index a0d693029..7111d43b9 100644 --- a/components/jvcllaz/packages/jvcustomlazr.lpk +++ b/components/jvcllaz/packages/jvcustomlazr.lpk @@ -70,6 +70,7 @@ TimeLine, OutlookBar, Thumbnail viewer, ImageViewer, ImageListViewer, OwnerDrawV + diff --git a/components/jvcllaz/packages/jvdblazd.lpk b/components/jvcllaz/packages/jvdblazd.lpk index a6f771b44..747a1bd95 100644 --- a/components/jvcllaz/packages/jvdblazd.lpk +++ b/components/jvcllaz/packages/jvdblazd.lpk @@ -27,6 +27,7 @@ + diff --git a/components/jvcllaz/packages/jvdblazr.lpk b/components/jvcllaz/packages/jvdblazr.lpk index e54dd583d..0645c3cac 100644 --- a/components/jvcllaz/packages/jvdblazr.lpk +++ b/components/jvcllaz/packages/jvdblazr.lpk @@ -54,7 +54,8 @@ - + + @@ -64,9 +65,6 @@ - - - diff --git a/components/jvcllaz/packages/jvhmilazd.lpk b/components/jvcllaz/packages/jvhmilazd.lpk index 9aeac8ca0..87ff4d75b 100644 --- a/components/jvcllaz/packages/jvhmilazd.lpk +++ b/components/jvcllaz/packages/jvhmilazd.lpk @@ -27,6 +27,7 @@ + diff --git a/components/jvcllaz/packages/jvhmilazr.lpk b/components/jvcllaz/packages/jvhmilazr.lpk index 09b37137b..db056e2ba 100644 --- a/components/jvcllaz/packages/jvhmilazr.lpk +++ b/components/jvcllaz/packages/jvhmilazr.lpk @@ -29,6 +29,7 @@ + diff --git a/components/jvcllaz/packages/jvjanslazd.lpk b/components/jvcllaz/packages/jvjanslazd.lpk index b8acf3dd5..e171a2d9f 100644 --- a/components/jvcllaz/packages/jvjanslazd.lpk +++ b/components/jvcllaz/packages/jvjanslazd.lpk @@ -25,6 +25,7 @@ + diff --git a/components/jvcllaz/packages/jvjanslazr.lpk b/components/jvcllaz/packages/jvjanslazr.lpk index 925d689ec..c9dd5e5d8 100644 --- a/components/jvcllaz/packages/jvjanslazr.lpk +++ b/components/jvcllaz/packages/jvjanslazr.lpk @@ -71,6 +71,7 @@ + diff --git a/components/jvcllaz/packages/jvnetlazd.lpk b/components/jvcllaz/packages/jvnetlazd.lpk index 9a798073e..0568d343d 100644 --- a/components/jvcllaz/packages/jvnetlazd.lpk +++ b/components/jvcllaz/packages/jvnetlazd.lpk @@ -24,6 +24,7 @@ + diff --git a/components/jvcllaz/packages/jvnetlazr.lpk b/components/jvcllaz/packages/jvnetlazr.lpk index 975169f39..d48bb633d 100644 --- a/components/jvcllaz/packages/jvnetlazr.lpk +++ b/components/jvcllaz/packages/jvnetlazr.lpk @@ -33,6 +33,7 @@ + diff --git a/components/jvcllaz/packages/jvpagecompsd.lpk b/components/jvcllaz/packages/jvpagecompsd.lpk index 88f6ba5a9..fe24996f7 100644 --- a/components/jvcllaz/packages/jvpagecompsd.lpk +++ b/components/jvcllaz/packages/jvpagecompsd.lpk @@ -35,6 +35,7 @@ + diff --git a/components/jvcllaz/packages/jvpagecompsr.lpk b/components/jvcllaz/packages/jvpagecompsr.lpk index 1e7f0b70e..91d7cd6a8 100644 --- a/components/jvcllaz/packages/jvpagecompsr.lpk +++ b/components/jvcllaz/packages/jvpagecompsr.lpk @@ -41,6 +41,7 @@ + diff --git a/components/jvcllaz/packages/jvpascalinterpreterd.lpk b/components/jvcllaz/packages/jvpascalinterpreterd.lpk index 4e8778f88..7ce67abb2 100644 --- a/components/jvcllaz/packages/jvpascalinterpreterd.lpk +++ b/components/jvcllaz/packages/jvpascalinterpreterd.lpk @@ -15,7 +15,7 @@ - + @@ -23,6 +23,7 @@ + diff --git a/components/jvcllaz/packages/jvpascalinterpreterr.lpk b/components/jvcllaz/packages/jvpascalinterpreterr.lpk index 11ef7d12a..86ab67ea9 100644 --- a/components/jvcllaz/packages/jvpascalinterpreterr.lpk +++ b/components/jvcllaz/packages/jvpascalinterpreterr.lpk @@ -15,7 +15,7 @@ - + @@ -34,6 +34,7 @@ + diff --git a/components/jvcllaz/packages/jvruntimedesignlazd.lpk b/components/jvcllaz/packages/jvruntimedesignlazd.lpk index 7245606ba..357d0618a 100644 --- a/components/jvcllaz/packages/jvruntimedesignlazd.lpk +++ b/components/jvcllaz/packages/jvruntimedesignlazd.lpk @@ -22,6 +22,7 @@ + diff --git a/components/jvcllaz/packages/jvruntimedesignlazr.lpk b/components/jvcllaz/packages/jvruntimedesignlazr.lpk index baeee6fa4..800d4501c 100644 --- a/components/jvcllaz/packages/jvruntimedesignlazr.lpk +++ b/components/jvcllaz/packages/jvruntimedesignlazr.lpk @@ -32,6 +32,7 @@ + diff --git a/components/jvcllaz/packages/jvstdctrlslazd.lpk b/components/jvcllaz/packages/jvstdctrlslazd.lpk index f8cfacd97..d336162ca 100644 --- a/components/jvcllaz/packages/jvstdctrlslazd.lpk +++ b/components/jvcllaz/packages/jvstdctrlslazd.lpk @@ -24,6 +24,7 @@ CalcEdit, button, checkbox, panel, linked controls"/> + diff --git a/components/jvcllaz/packages/jvstdctrlslazr.lpk b/components/jvcllaz/packages/jvstdctrlslazr.lpk index 4a3385a55..41e8f5031 100644 --- a/components/jvcllaz/packages/jvstdctrlslazr.lpk +++ b/components/jvcllaz/packages/jvstdctrlslazr.lpk @@ -43,6 +43,7 @@ CalcEdit, button, checkbox, panel, linked controls + diff --git a/components/jvcllaz/packages/jvtimeframeworklazd.lpk b/components/jvcllaz/packages/jvtimeframeworklazd.lpk index f045268e3..b809ab75c 100644 --- a/components/jvcllaz/packages/jvtimeframeworklazd.lpk +++ b/components/jvcllaz/packages/jvtimeframeworklazd.lpk @@ -24,6 +24,7 @@ + diff --git a/components/jvcllaz/packages/jvtimeframeworklazr.lpk b/components/jvcllaz/packages/jvtimeframeworklazr.lpk index 4812ab557..15c796cb7 100644 --- a/components/jvcllaz/packages/jvtimeframeworklazr.lpk +++ b/components/jvcllaz/packages/jvtimeframeworklazr.lpk @@ -57,6 +57,7 @@ + diff --git a/components/jvcllaz/packages/jvvalidatorslazd.lpk b/components/jvcllaz/packages/jvvalidatorslazd.lpk index 0b4565194..680dff057 100644 --- a/components/jvcllaz/packages/jvvalidatorslazd.lpk +++ b/components/jvcllaz/packages/jvvalidatorslazd.lpk @@ -32,6 +32,7 @@ + diff --git a/components/jvcllaz/packages/jvvalidatorslazr.lpk b/components/jvcllaz/packages/jvvalidatorslazr.lpk index 953a1c73a..903d4f170 100644 --- a/components/jvcllaz/packages/jvvalidatorslazr.lpk +++ b/components/jvcllaz/packages/jvvalidatorslazr.lpk @@ -25,6 +25,7 @@ + diff --git a/components/jvcllaz/packages/jvwizardlazd.lpk b/components/jvcllaz/packages/jvwizardlazd.lpk index a019e6710..9a6ae71f9 100644 --- a/components/jvcllaz/packages/jvwizardlazd.lpk +++ b/components/jvcllaz/packages/jvwizardlazd.lpk @@ -27,6 +27,7 @@ + diff --git a/components/jvcllaz/packages/jvwizardlazr.lpk b/components/jvcllaz/packages/jvwizardlazr.lpk index 873e89636..4e7933a76 100644 --- a/components/jvcllaz/packages/jvwizardlazr.lpk +++ b/components/jvcllaz/packages/jvwizardlazr.lpk @@ -37,6 +37,7 @@ + diff --git a/components/jvcllaz/packages/jvxpctrlslazd.lpk b/components/jvcllaz/packages/jvxpctrlslazd.lpk index 280f8e10f..3c7ec1166 100644 --- a/components/jvcllaz/packages/jvxpctrlslazd.lpk +++ b/components/jvcllaz/packages/jvxpctrlslazd.lpk @@ -27,6 +27,7 @@ + diff --git a/components/jvcllaz/packages/jvxpctrlslazr.lpk b/components/jvcllaz/packages/jvxpctrlslazr.lpk index 90dd1af5c..c73fbcf08 100644 --- a/components/jvcllaz/packages/jvxpctrlslazr.lpk +++ b/components/jvcllaz/packages/jvxpctrlslazr.lpk @@ -41,6 +41,7 @@ + diff --git a/components/jvcllaz/run/JvCore/jvjclutils.pas b/components/jvcllaz/run/JvCore/jvjclutils.pas index 65ece6faa..d58ec2f0d 100644 --- a/components/jvcllaz/run/JvCore/jvjclutils.pas +++ b/components/jvcllaz/run/JvCore/jvjclutils.pas @@ -10186,6 +10186,7 @@ begin {$IFDEF ENDIAN_BIG} Result := AValue; {$ELSE} + Result := ''; SetLength(Result, Length(AValue)); for i:=1 to Length(AValue) do Result[i] := WideChar(BEToN(PDWord(@AValue[i])^)); @@ -10199,6 +10200,7 @@ begin {$IFDEF ENDIAN_BIG} Result := AValue; {$ELSE} + Result := ''; SetLength(Result, Length(AValue)); for i:=1 to Length(AValue) do Result[i] := WideChar(NtoBE(PDWord(@AValue[i])^)); diff --git a/components/jvcllaz/run/JvCore/jvjvclutils.pas b/components/jvcllaz/run/JvCore/jvjvclutils.pas index 065c8ec35..1379cacc7 100644 --- a/components/jvcllaz/run/JvCore/jvjvclutils.pas +++ b/components/jvcllaz/run/JvCore/jvjvclutils.pas @@ -4599,7 +4599,7 @@ type PQColorList = ^TQColorList; TQColorList = array [0..{$IFDEF RTL230_UP}MaxInt div 16{$ELSE}MaxListSize{$ENDIF RTL230_UP} - 1] of PQColor; - PNewColor = ^TNewColor; + PNewColor = {%H-}^TNewColor; TNewColor = record RGBMin: TTriple; RGBWidth: TTriple; @@ -5214,7 +5214,7 @@ begin end; type - PFreqRecord = ^TFreqRecord; + PFreqRecord = {%H-}^TFreqRecord; TFreqRecord = record B: Byte; G: Byte; @@ -5652,6 +5652,7 @@ procedure InternalGetDIBSizes(Bitmap: HBITMAP; var InfoHeaderSize: Integer; var BI: TBitmapInfoHeader; begin + BI := Default(TBitmapInfoHeader); InitializeBitmapInfoHeader(Bitmap, BI, BitCount); if BI.biBitCount > 8 then begin @@ -5703,8 +5704,8 @@ end; function DIBFromBit(Src: HBITMAP; Pal: HPALETTE; PixelFormat: TPixelFormat; var Length: Longint): Pointer; var - HeaderSize: Integer; - ImageSize: Longint; + HeaderSize: Integer = 0; + ImageSize: Longint = 0; FileHeader: PBitmapFileHeader; BI: PBitmapInfoHeader; Bits: Pointer; @@ -5723,8 +5724,8 @@ begin bfSize := Length; bfOffBits := SizeOf(FileHeader^) + HeaderSize; end; - BI := PBitmapInfoHeader(Longint(FileHeader) + SizeOf(FileHeader^)); - Bits := Pointer(Longint(BI) + HeaderSize); + BI := PBitmapInfoHeader(PtrInt(FileHeader) + SizeOf(FileHeader^)); + Bits := Pointer(PtrInt(BI) + HeaderSize); InternalGetDIB(Src, Pal, BI^, Bits^, PixelFormat); except FreeMem(Result); @@ -5741,8 +5742,10 @@ var BI, NewBI: PBitmapInfoHeader; Bits: Pointer; NewPalette: PRGBPalette; - NewHeaderSize: Integer; - ImageSize, Length, Len: Longint; + NewHeaderSize: Integer = 0; + ImageSize: LongInt = 0; + Length: LongInt = 0; + Len: Longint = 0; P, InitData: Pointer; ColorCount: Integer; SourceBitmapFormat: TPixelFormat; diff --git a/components/jvcllaz/run/JvCore/jvtypes.pas b/components/jvcllaz/run/JvCore/jvtypes.pas index 52d88987c..4f2c6a024 100644 --- a/components/jvcllaz/run/JvCore/jvtypes.pas +++ b/components/jvcllaz/run/JvCore/jvtypes.pas @@ -40,7 +40,7 @@ interface uses LCLType, - Classes, Controls, Forms, Graphics, LMessages, SysUtils, + Classes, Controls, Forms, Graphics, SysUtils, JvResources; const diff --git a/components/jvcllaz/run/JvMM/jvgif.pas b/components/jvcllaz/run/JvMM/jvgif.pas index b527c9f16..4de269d79 100644 --- a/components/jvcllaz/run/JvMM/jvgif.pas +++ b/components/jvcllaz/run/JvMM/jvgif.pas @@ -19,7 +19,9 @@ You may retrieve the latest version of this file at the Project JEDI's JVCL home located at http://jvcl.delphi-jedi.org Known Issues: - GIF support is native for VisualCLX so this file is VCL only + GIF support is native for VisualCLX so this file is VCL only // <-- wp: really? + Transparency does not seem to work + -----------------------------------------------------------------------------} // $Id$ @@ -106,15 +108,15 @@ type procedure NewImage; procedure UniqueImage; procedure ReadData(Stream: TStream); override; - procedure SetHeight(Value: Integer); override; + procedure SetHeight({%H-}Value: Integer); override; procedure SetTransparent(Value: Boolean); override; - procedure SetWidth(Value: Integer); override; + procedure SetWidth({%H-}Value: Integer); override; procedure WriteData(Stream: TStream); override; property Bitmap: TBitmap read GetBitmap; { volatile } public constructor Create; override; destructor Destroy; override; - procedure Clear; + procedure Clear; override; procedure DecodeAllFrames; procedure EncodeAllFrames; procedure Assign(Source: TPersistent); override; @@ -126,10 +128,8 @@ type procedure SaveToClipboardFormat(var AFormat: Word; var AData: THandle; var APalette: HPALETTE); override; **********************************) - procedure LoadFromResourceName(Instance: THandle; const ResName: string; - ResType: PChar); - procedure LoadFromResourceID(Instance: THandle; ResID: Integer; - ResType: PChar); + procedure LoadFromResourceName(Instance: THandle; const ResName: string); override; + procedure LoadFromResourceID(Instance: THandle; ResID: Integer); override; function AddFrame(Value: TGraphic): Integer; virtual; procedure DeleteFrame(Index: Integer); procedure MoveFrame(CurIndex, NewIndex: Integer); @@ -207,7 +207,7 @@ type property Width: Integer read GetWidth; end; - TGIFData = class(TSharedImage) + TGIFData = class(TSharedRasterImage) //was: TSharedImage) private FComment: TStringList; FAspectRatio: Byte; @@ -217,11 +217,11 @@ type protected procedure FreeHandle; override; public - constructor Create; + constructor Create; override; destructor Destroy; override; end; - TGIFItem = class(TSharedImage) + TGIFItem = class(TSharedRasterImage) //was: TSharedImage) private FImageData: TMemoryStream; FSize: TPoint; @@ -526,7 +526,7 @@ begin (Length(FData[0]) >= 3) and (Byte(FData[0][1]) = AE_LOOPING); end; -procedure FreeExtensions(Extensions: TList); near; +procedure FreeExtensions(Extensions: TList); {near;} begin if Extensions <> nil then begin @@ -595,7 +595,7 @@ type PIntCodeTable = ^TIntCodeTable; TIntCodeTable = array [0..CODE_TABLE_SIZE - 1] of Word; - PReadContext = ^TReadContext; + PReadContext = {%H-}^TReadContext; TReadContext = record Inx: Longint; Size: Longint; @@ -604,7 +604,7 @@ type ReadMask: Longint; end; - PWriteContext = ^TWriteContext; + PWriteContext = {%H-}^TWriteContext; TWriteContext = record Inx: Longint; CodeSize: Longint; @@ -678,7 +678,8 @@ procedure ReadImageStream(Stream, Dest: TStream; var Desc: TImageDescriptor; var Interlaced, LocalColors, Corrupted: Boolean; var BitsPerPixel: Byte; var ColorTable: TGIFColorTable); var - CodeSize, BlockSize: Byte; + CodeSize: Byte = 0; + BlockSize: Byte = 0; begin Corrupted := False; Stream.ReadBuffer(Desc, SizeOf(TImageDescriptor)); @@ -737,7 +738,7 @@ function ReadCode(Stream: TStream; var Context: TReadContext): Longint; var RawCode: Longint; ByteIndex: Longint; - Bytes: Byte; + Bytes: Byte = 0; BytesToLose: Longint; begin while (Context.Inx + Context.CodeSize > Context.Size) and @@ -809,7 +810,8 @@ procedure ReadGIFData(Stream: TStream; const Header: TBitmapInfoHeader; Interlaced, LoadCorrupt: Boolean; IntBitPerPixel: Byte; Data: Pointer; var Corrupted: Boolean; ProgressProc: TProgressProc); var - MinCodeSize, Temp: Byte; + MinCodeSize: Byte = 0; + Temp: Byte; MaxCode, BitMask, InitCodeSize: Longint; ClearCode, EndingCode, FirstFreeCode, FreeCode: Word; I, OutCount, Code: Longint; @@ -1757,7 +1759,7 @@ var BitFile: TBitmapFileHeader; Colors: TRGBPalette; Bits: Pointer; - Corrupt: Boolean; + Corrupt: Boolean = false; begin with BI do begin @@ -1794,6 +1796,7 @@ begin end; Stream.Write(BitFile, SizeOf(TBitmapFileHeader)); Stream.Write(BI, SizeOf(TBitmapInfoHeader)); + Colors := Default(TRGBPalette); FillRGBPalette(FImage.FColorMap, Colors); Stream.Write(Colors, SizeOf(TRGBQuad) * (1 shl BI.biBitCount)); @@ -1839,6 +1842,7 @@ var begin FImage.FImageData := TMemoryStream.Create; try + ImageDesc := Default(TImageDescriptor); ReadImageStream(Stream, FImage.FImageData, ImageDesc, FInterlaced, FLocalColors, FCorrupted, FImage.FBitsPerPixel, FImage.FColorMap); if FCorrupted and not GIFLoadCorrupted then @@ -2321,11 +2325,12 @@ begin ReadStream(Stream.Size - Stream.Position, Stream, True); end; -procedure TJvGIFImage.LoadFromResourceName(Instance: THandle; const ResName: string; - ResType: PChar); +procedure TJvGIFImage.LoadFromResourceName(Instance: THandle; const ResName: string); var Stream: TStream; + ResType: TResourceType; begin + ResType := GetResourceType; Stream := TResourceStream.Create(Instance, ResName, ResType); try ReadStream(Stream.Size - Stream.Position, Stream, True); @@ -2334,11 +2339,12 @@ begin end; end; -procedure TJvGIFImage.LoadFromResourceID(Instance: THandle; ResID: Integer; - ResType: PChar); +procedure TJvGIFImage.LoadFromResourceID(Instance: THandle; ResID: Integer); var + ResType: TResourceType; Stream: TStream; begin + ResType := GetResourceType; Stream := TResourceStream.CreateFromID(Instance, ResID, ResType); try ReadStream(Stream.Size - Stream.Position, Stream, True); @@ -2506,7 +2512,7 @@ end; procedure TJvGIFImage.ReadData(Stream: TStream); var - Size: Longint; + Size: Longint = 0; begin Stream.Read(Size, SizeOf(Size)); ReadStream(Size, Stream, True); @@ -2518,6 +2524,7 @@ var S: TGifSignature; begin FVersion := gvUnknown; + S := Default(TGifSignature); Stream.Read(S[0], 3); if not CompareMem(@GIFSignature[0], @S[0], 3) then GifError(RsEGIFVersion); @@ -2570,8 +2577,8 @@ var function ReadDataBlock(Stream: TStream): TStringList; var - BlockSize: Byte; - S: AnsiString; + BlockSize: Byte = 0; + S: AnsiString = ''; begin Result := TStringList.Create; try @@ -2592,7 +2599,7 @@ var function ReadExtension(Stream: TStream): TExtension; var - ExtensionLabel: Byte; + ExtensionLabel: Byte = 0; begin Result := TExtension.Create; try diff --git a/components/jvcllaz/run/JvPascalInterpreter/JvInterpreter.pas b/components/jvcllaz/run/JvPascalInterpreter/JvInterpreter.pas index 0a01e4302..b91b29a55 100644 --- a/components/jvcllaz/run/JvPascalInterpreter/JvInterpreter.pas +++ b/components/jvcllaz/run/JvPascalInterpreter/JvInterpreter.pas @@ -1543,6 +1543,7 @@ var liLen: integer; lp: PByte; begin + Result := nil; liLen := VarArrayHighBound(V, 1) - VarArrayLowBound(V, 1) + 1; SetLength(result, liLen); lp := VarArrayLock(V); @@ -1749,7 +1750,7 @@ end; function StringLoadFromStream(Stream: TStream): string; var L: Integer = 0; - UTF8Str: UTF8String; + UTF8Str: UTF8String = ''; begin Stream.ReadBuffer(L, SizeOf(L)); SetLength(UTF8Str, L); @@ -2768,6 +2769,7 @@ begin Ret := ': ' + ResTypName; end; + Param := ''; for I := 0 to ParamCount - 1 do begin if (ParamTypes[I] and varByRef) = varByRef then @@ -4383,6 +4385,7 @@ var JvInterpreterSrcUnit: TJvInterpreterSrcUnit; FParams: TTypeArray; begin + FParams := Default(TTypeArray); for I := 0 to FSrcUnitList.Count - 1 do begin JvInterpreterSrcUnit := TJvInterpreterSrcUnit(FSrcUnitList[I]); @@ -5601,6 +5604,7 @@ var function PopExp: Variant; begin + Result := Default(Variant); if FExpStackPtr = -1 then JvInterpreterError(ieInternal, -1); JvInterpreterVarCopy(Result, FExpStack[FExpStackPtr]); @@ -5888,6 +5892,7 @@ begin else begin FCurrArgs.Clear; + V1 := Default(Variant); InternalGetValue(nil, 0, V1); if not VarIsOrdinal(V1) then JvInterpreterError(ieIntegerRequired, PosBeg); @@ -6067,6 +6072,7 @@ begin UpdateVarParams; if FCurrArgs.Indexed and not FCurrArgs.ReturnIndexed then begin + V := Default(Variant); JvInterpreterVarCopy(V, Result); if not GetElement(V, Result, FCurrArgs) then { problem } @@ -6129,7 +6135,7 @@ begin if TVarData(Variable).VType = varArray then begin {Get array value} - PP := PJvInterpreterArrayRec(PtrInt(JvInterpreterVarAsType(Variable, varInteger))); + PP := {%H-}PJvInterpreterArrayRec(PtrInt(JvInterpreterVarAsType(Variable, varInteger))); if Args.Count > PP.Dimension then JvInterpreterError(ieArrayTooManyParams, -1) else @@ -6208,7 +6214,7 @@ begin if TVarData(Variable).VType = varArray then begin { Get array value } - PP := PJvInterpreterArrayRec(PtrInt(JvInterpreterVarAsType(Variable, varInteger))); + PP := {%H-}PJvInterpreterArrayRec(PtrInt(JvInterpreterVarAsType(Variable, varInteger))); if Args.Count > PP.Dimension then JvInterpreterError(ieArrayTooManyParams, -1) else @@ -6407,6 +6413,7 @@ var begin FCurrArgs.FHasVars := False; FCurrArgs.Types := FunctionDesc.FParamTypes; + V := Default(Variant); for I := 0 to FCurrArgs.Count - 1 do begin if (FunctionDesc.FParamTypes[I] and varByRef) <> 0 then @@ -6937,6 +6944,7 @@ begin MyArgs.Obj := FCurrArgs.Obj; MyArgs.ObjTyp := FCurrArgs.ObjTyp; try + Variable := Default(Variant); if GetValue(Identifier, Variable, MyArgs) then begin if not SetElement(Variable, FVResult, FCurrArgs) then @@ -7342,6 +7350,7 @@ begin NextToken; TypName := Token; DT := ParseDataType; + Value := Default(variant); for I := 0 to FSS.Count - 1 do begin DT.Init(Value); @@ -7612,6 +7621,7 @@ begin raise EJvInterpreterError.Create(ieRaise, PosBeg, '', ''); ttIdentifier: begin + V := Default(variant); InternalGetValue(nil, 0, V); if VarType(V) <> varObject then JvInterpreterError(ieClassRequired, PosBeg {?}); @@ -7976,7 +7986,7 @@ procedure TJvInterpreterUnit.ReadUnit(const UnitName: string); var OldUnitName: string; OldSource: string; - S: string; + S: string = ''; begin if FAdapter.UnitExists(UnitName) then Exit; @@ -8346,7 +8356,7 @@ end; procedure TJvInterpreterUnit.ExecFunction(Fun: TJvInterpreterFunctionDesc); var OldUnitName: string; - S: string; + S: string = ''; begin PushState; FAllowAssignment := True; @@ -8488,7 +8498,7 @@ end; procedure TJvInterpreterProgram.Run; var - UsesList: string; + UsesList: string = ''; begin // (rom) Does this always work? After "program" a line end or tab is allowed. if AnsiStrLIComp(PChar(FParser.Source), 'program ', Length('program ')) <> 0 then @@ -8681,7 +8691,7 @@ end; procedure TJvInterpreterArrayDataType.Init(var V: Variant); begin - V := NativeInt(JvInterpreterArrayInit(FDimension, FArrayBegin, FArrayEnd, FArrayType, FDT)); + V := {%H-}NativeInt(JvInterpreterArrayInit(FDimension, FArrayBegin, FArrayEnd, FArrayType, FDT)); TVarData(V).VType := varArray; end; diff --git a/components/jvcllaz/run/JvPascalInterpreter/JvInterpreterFm.pas b/components/jvcllaz/run/JvPascalInterpreter/JvInterpreterFm.pas index f47724434..8423d0471 100644 --- a/components/jvcllaz/run/JvPascalInterpreter/JvInterpreterFm.pas +++ b/components/jvcllaz/run/JvPascalInterpreter/JvInterpreterFm.pas @@ -620,6 +620,7 @@ var UnitName: string; S: string = ''; begin + Result := Default(Variant); FFileName := FileName; try UnitName := ChangeFileExt(ExtractFileName(FFileName), ''); diff --git a/components/jvcllaz/run/JvTimeFramework/jvtfmanager.pas b/components/jvcllaz/run/JvTimeFramework/jvtfmanager.pas index 8189da400..ac537e94c 100644 --- a/components/jvcllaz/run/JvTimeFramework/jvtfmanager.pas +++ b/components/jvcllaz/run/JvTimeFramework/jvtfmanager.pas @@ -2290,6 +2290,7 @@ var Appt: TJvTFAppt; I: Integer; begin + Result := Default(TDynApptArray); SetLength(Result, 0); for I := 0 to ApptCount - 1 do begin @@ -2317,6 +2318,7 @@ var Appt: TJvTFAppt; I: Integer; begin + Result := Default(TDynApptArray); SetLength(Result, 0); for I := 0 to ApptCount - 1 do begin