Sign in Join
FPDoc Onlineexperiment

TGroupResource.SetCustomItemDataStream procedure

Member of TGroupResourcepublicIn unit groupresource

Sets a custom stream as the underlying stream for ItemData

Declaration

pascal
procedure SetCustomItemDataStream(aStream: TStream)

Arguments

aStream

The custom stream to use as the underlying ItemData stream

Description

This method allows the user to use a custom stream as the underlying stream for ItemData. This is useful when you want a TGroupIconResource or TGroupCursorResource to be created from a ico or cur file for which you have a stream.

Sample code

This code creates a resource containing an icon

var
  aName : TResourceDesc;
  aRes : TGroupIconResource;
  aFile : TFileStream;
  Resources : TResources;
begin
  Resources:=TResources.Create;
  aName:=TResourceDesc.Create('MAINICON');
  aRes:=TGroupIconResource.Create(nil,aName); //type is always RT_GROUP_ICON
  aName.Free; //not needed anymore
  aFile:=TFileStream.Create('mainicon.ico',fmOpenRead or fmShareDenyNone);
  aRes.SetCustomItemDataStream(aFile);
  Resources.Add(aRes);
  Resources.WriteToFile('myresource.res');

  Resources.Free; //it destroys aRes as well.
  aFile.Free;
end;

See also

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.