Ich habe mir lange darüber Gedanken gemacht, wie man dieses Problem mit
OOP-Miteln lösen könnte, aber bislang keine befriedigende Lösung gefunden.
Hat jemand einen Vorschlag?
Wie wär's mit diesem neuartigen Konzept:
Gemeinsamkeiten von zwei oder mehr Klassen in eine gemeinsame Basisklasse und nur in den Ableitungen das neue Zeug?!
Delphi-Quellcode:
type
TCustomQuery = Class(TPersistent)
protected
FidBild: Integer;
FThumbnail: TMemoryStream;
FBitmap: TMemoryStream;
FPass: String;
FUser: string;
procedure SetBitmap(Value: TMemoryStream);
procedure SetThumbnail(Value: TMemoryStream);
function GetBitmap: TMemoryStream;
function GetThumbnail: TMemoryStream;
function FillThumbnail(var Thumbnail: TMemoryStream): TMemoryStream;
public
constructor Create(AOwner: TComponent);
destructor Destroy; override;
procedure Assign(Source: TPersistent); override;
property IdBild: Integer read FidBild write FidBild;
property Thumbnail: TMemoryStream read GetThumbnail write SetThumbnail;
property Bitmap: TMemoryStream read GetBitmap write SetBitmap;
end
TQueryResultClass = Class(TCustomQuery)
protected
FBildDescribeTabelle: TBildDescribeTabelle;
FKategoryTabelle: TKategoryTabelle;
public
procedure Assign(Source: TPersistent); override;
property BildDescribeTabelle: TBildDescribeTabelle read FBildDescribeTabelle write FBildDescribeTabelle;
property KategoryTabelle: TKategoryTabelle read FKategoryTabelle write FKategoryTabelle;
end;
TCMQueryClass = Class(TCustomQuery)
protected
FTblBildText: TTblBildText;
FTblAlbum: TTbl_Album;
public
procedure Assign(Source: TPersistent); override;
property TblBildText: TTblBildText read FTblBildText write FTblBildText;
property TblAlbum: TTbl_Album read FTblAlbum write FTblAlbum;
end;