This class was introduced in IntraWeb XIV and is responsible for creation of application cache files. All public methods are class methods, so this class does not need to be instantiated.
Unit
IWAppCache
Class hierarchy
TObject -> TIWAppCache
Methods
NewCacheStream [Public]
Declaration: class procedure NewCacheStream(Sender: TObject; const AContentType: string; ACacheType: TCacheType; out ACacheStream: TCacheStream; out AFileHRef: string);
Description: General method for cache stream creation.
Parameters:
- Sender (TObject): May have one of these values
- If you are creating a Form cache file, Sender must be an instance of TIWForm class.
- If you are creating a Session cache file, Sender must be an instance of TIWApplication class, or TIWForm class
- If you are creating an Application cache file, this parameter is ignored, so NIL may be used.
- AContentType (string): Content type of the stream.
- ACacheType (TCacheType): Type of cache that will be used. See TCacheType definition.
- out ACacheStream (TCacheStream): The TCacheStream created.
- out AFileHRef (string): Contains the URL of the cache file.
NewAppCacheStream [Public]
Declaration: class procedure NewAppCacheStream(Sender: TObject; const AContentType: string; out ACacheStream: TCacheStream; out AFileHRef: string);
Description: General method for application (or global) cache file creation.
Parameters:
- Sender (TObject): Ignored for this method.
- AContentType (string): Content type of the stream.
- out ACacheStream (TCacheStream): The TCacheStream created.
- out AFileHRef (string): Contains the URL of the cache file.
NewSessionCacheStream [Public]
Declaration: class procedure NewSessionCacheStream(Sender: TObject; const AContentType: string; out ACacheStream: TCacheStream; out AFileHRef: string);
Description: General method for session cache file creation.
Parameters:
- Sender (TObject): Sender must be an instance of TIWApplication class, or TIWForm class
- AContentType (string): Content type of the stream.
- out ACacheStream (TCacheStream): Stream whose content will be saved into the cache file.
- out AFileHRef (string): Contains the URL of the cache file.
NewFormCacheStream [Public]
Declaration: class procedure NewFormCacheStream(Sender: TObject; const AContentType: string; out ACacheStream: TCacheStream; out AFileHRef: string);
Description: General method for form cache file creation.
Parameters:
- Sender (TObject): an instance of TIWForm class, the owner of the cache file.
- AContentType (string): Content type of the stream.
- out ACacheStream (TCacheStream): Stream whose content will be saved into the cache file.
- out AFileHRef (string): Contains the URL of the cache file.
StreamToCacheFile [Public]
Declaration: class function StreamToCacheFile(Sender: TObject; AStream: TStream; const AContentType: string; const ACacheType: TCacheType = ctSession): string;
Description: Creates a new cache file and save AStream content into it.
Parameters:
- Sender (TObject): May have one of these values
- If you are creating a Form cache file, Sender must be an instance of TIWForm class.
- If you are creating a Session cache file, Sender must be an instance of TIWApplication class, or TIWForm class
- If you are creating an Application cache file, this parameter is ignored, so NIL may be used.
- AStream (TStream): Stream whose content will be saved into the cache file.
- AContentType (string): Content type of the stream.
- ACacheType (TCacheType, default ctSession): Type of cache that will be used. See TCacheType definition.
Result: (string) Contains the URL of the cache file.
Example:
uses
IWAppCache, IW.CacheStream, Windows;
procedure TIWForm6.IWAppFormCreate(Sender: TObject);
var
MyStream: TStream;
HRef: string;
xResName: string;
begin
xResName := 'MYIMAGEFILE';
MyStream := TResourceStream.Create(0, PChar(xResName), RT_RCDATA);
try
HRef := TIWAppCache.StreamToCacheFile(Self, MyStream, 'image/gif', ctSession);
IWImageFile1.ImageFile.URL := HRef;
finally
MyStream.Free;
end;
end;
GraphicToCacheFile [Public]
Declaration: class function GraphicToCacheFile(Sender: TObject; AGraphic: TGraphic; const ACacheType: TCacheType = ctSession; const PreferPNG: boolean = True): string; overload;
Description: Creates a new cache file and writes AGraphic content to it. Image conversion may also be performed.
Parameters:
- Sender (TObject): May have one of these values
- If you are creating a Form cache file, Sender must be an instance of TIWForm class.
- If you are creating a Session cache file, Sender must be an instance of TIWApplication class, or TIWForm class
- If you are creating an Application cache file, this parameter is ignored, so NIL may be used.
- AGraphic (TGraphic): The instance of the graphic image to be saved to the cache file.
- ACacheType (TCacheType, default ctSession): Type of cache that will be used. See TCacheType definition.
- PreferPNG (Boolean, default True): If False, the generated output file will have the same image format of AGraphic, otherwise it will be converted to PNG if required.
Result: (string) Contains the URL of the cache file.
GraphicToCacheFile [Public]
Declaration: class function GraphicToCacheFile(Sender: TObject; AGraphic: TGraphic; imgType :TIWImageOutput; const ACacheType: TCacheType = ctSession): string; overload;
Description: Creates a new cache file and writes AGraphic content to it. Image conversion may also be performed.
Parameters:
- Sender (TObject): May have one of these values
- If you are creating a Form cache file, Sender must be an instance of TIWForm class.
- If you are creating a Session cache file, Sender must be an instance of TIWApplication class, or TIWForm class
- If you are creating an Application cache file, this parameter is ignored, so NIL may be used.
- AGraphic (TGraphic): The instance of the graphic image to be saved to the cache file.
- imgType (TIWImageOutput): Type of image format used for output. See TIWImageOutput definition.
- ACacheType (TCacheType): Type of cache that will be used. See TCacheType definition.
Result: (string) Contains the URL of the cache file.
ClearCache [Public]
Declaration: class function ClearCache(ACacheList: TStrings): Integer;
Description: Delete all files from ACacheList and remove the reference from the list. This method is used internally by IntraWeb. There is seldom, if ever, any reason to call this method directly.
Parameters:
- ACacheList (TStrings): List of files in cache.
Result: (Integer) Returns zero if all files are deleted, or the number of files not deleted.
|