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