Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#12

AW: Mehrere TImages mit einer Procedure erstellen

  Alt 10. Okt 2016, 18:18
Moin...
Zitat:
Ich habe den Crashkurs jetzt gelesen und außerdem der Klasse die Eigenschaften ImageTop und ImageLeft hinzugefügt:
Ein Schritt nach dem Anderen...

Zitat:
Also ohne Generics (ja, haut mich)
... knapp daneben. Warum sollte er nicht die neuen Möglichkeiten nutzen?

Delphi-Quellcode:
TForm1 = class(TForm) // bestehend
.
.
private
  MeineObjectList := TObjectList<TBild>; // die Instanz der Liste
public
  constructor Create;
  destructor Destroy; override;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 //MeineObjectList: TObjectList;
 Test: TBild;
begin
 // MeineObjectList := TObjectList<TBild>.Create(True);
 // -> Generics, das True bedeutet das die Listeneinträge von der Liste verwaltet werden (Freigabe)
 // -> Verlagern in den constructor
 Key := 'Feld'+IntToStr(Feldx)+','+IntToStr(Feldy);
 Test := TBild.Create;
 Test.FImageName:=Key;
 Test.FImageHeight:=Feldsize;
 Test.FImageWidth:=Feldsize;
 Imagelist1.GetBitmap(0,Test.FImageContent);

 MeineObjectList.Add(Test);

 // Irgendwo musst du dann auch die ObjectListe wieder freigeben.
end;
... und dann greifst du auf die Liste zu um mit dem Bild (TBild) zu arbeiten...
Delphi-Quellcode:
var
  DasBild: TBild;
begin
  DasBild := MeineObjectList[DeinGewünschterIntex]; // durch die Generics kannst das Object direkt ohne Casten benutzen
end;
... die Listen haben noch weitere Funktionen um auf das Bild zuzugreifen.
http://docwiki.embarcadero.com/Libra...ns.TObjectList
http://docwiki.embarcadero.com/Libra...ctList_Methods

...Freigabe der "MeineObjectList"
Delphi-Quellcode:
constructor Create;
begin
  MeineObjectList := TObjectList<TBild>.Create(True);
end;

destructor Destroy;
begin
  MeineObjectList.Free;
  inherited;
end;

Geändert von haentschman (11. Okt 2016 um 12:55 Uhr)
  Mit Zitat antworten Zitat