![]() |
Image in Obejctlist laden
ist das Möglich ein Image in eine ObjectList zu laden ?
Habe das jetzt so geschrieben wie ich mir das gedacht habe.
Delphi-Quellcode:
es war leider nicht von Erfolg gekrönt worden vielleicht habe ihr einen bessere Idee oder wisst eine Lösung zu meinem Dilemmer
function Imageloader: TObjectList;
begin Result.Create; Result.Add(Image1); Result.Add(Image2); Result.Add(Image3); Result.Add(Image4); Result.Add(Image5); Result.Add(Image6); Result.Add(Image7); Result.Add(Image8); Result.Add(Image9); Result.Add(Image10); Result.Add(Image11); Result.Add(Image12); Result.Add(Image13); Result.Add(Image14); Result.Add(Image15); Result.Add(Image16); Result.Add(Image17); Result.Add(Image18); Result.Add(Image19); Result.Add(Image20); Result.Add(Image21); Result.Add(Image22); Result.Add(Image23); Result.Add(Image24); Result.Add(Image25); Result.Add(Image26); Result.Add(Image27); end; |
AW: Image in Obejctlist laden
probier mal
Delphi-Quellcode:
Result:=TObjectList.Create;
|
AW: Image in Obejctlist laden
Delphi-Quellcode:
Result := TObjectList.Create;
|
AW: Image in Obejctlist laden
ne hat auch nichts gebracht der sagt immer noch
Undefinierter Bezeichner 'Image1' |
AW: Image in Obejctlist laden
Gibt es den Image1 ff. als globales Objekt?
|
AW: Image in Obejctlist laden
Die sind doch schon Globale Objekte oder?
und wenn nicht wie bekommt man globale objekte? Also in der Type unter den uses sind die ja alle drin das ist für mich global |
AW: Image in Obejctlist laden
Image1..Image27 sind doch Komponenten, die hängen nicht einfach im leeren Raum sondern gehören zu einem Formular.
Und nur Methoden des Formulars sollten direkt darauf zugreifen:
Delphi-Quellcode:
function TForm1.Imageloader: TObjectList;
begin {...} Result.Add(Image1); {...} end; // das geht zwar auch, ist aber schlechter Stil function Imageloader: TObjectList; begin {...} Result.Add(Form1.Image1); {...} end; |
AW: Image in Obejctlist laden
Die werden auf einem Formular liegen, dann gehören diese auch zu diesem.
Mach aus der (freien) Prozedur eine Methode des Formulars. Btw. Dir scheinen einige Grundlagen zu objektorientiertem Programmierung ( sind c+ und c++ nicht objektorientiert?) und zu Delphi im Speziellen zu fehlen. Vielleicht solltest Du Deine Wissenslücken in dieser Richtung erst einmal schliessen. |
AW: Image in Obejctlist laden
ich sage es eher so ich habe nicht mehr daran gedacht die in die Form einzubinden, bin länger aus Delphi raus was wie es schien nicht gut getan hat. :oops:
es hat funktioniert vielen dank |
AW: Image in Obejctlist laden
Jetzt noch mal eine ganz dumme Frage
Wie kann ich den jetzt an die Eigenschaften von Image ran kommen? denn die Images sind jetzt ja in einer ObjectList geladen, jedoch brauche ich von die noch im Bilder aufzurufen. Bsp.
Delphi-Quellcode:
nur jetzt hat ich ja ne ObjectList habe es mir leider zu leicht vorgestellt nur ich dachte man kann mit
Image1.Picture.LoadfromFile('*.*')
Delphi-Quellcode:
weiter machen
B:ImageLoader.Items[1]
B.Loadfromfile... |
AW: Image in Obejctlist laden
Du musst auf den entsprechenden Typ Casten.
|
AW: Image in Obejctlist laden
Wäre das so Richtig?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject); type Allrounder = TImage; var rec : TIntegerarray; // caller : Tpicarray; saferend: TByteDynArray; firstIcon: Tstringarray; counter: integer; testvariable : TObjectlist; begin SetLength(saferend,3); rec := bedingung; firstIcon := Symbolspeicher; Allrounder := TImage(Imageloader.Items[0]); Allrounder.Picture.LoadFromFile(firstIcon[0]); end; |
AW: Image in Obejctlist laden
Grundsätzlich ja. Allerdings bergen harte Casts einige Gefahren für AV. Man muss sich sicher sein, dass das Objekt wirklich von diesem Typ ist. Wenn Du aber nur Imgaes in diesem Typ hast, kann man das so machen, wobei sich mir dann die Frage aufdrängt, warum man diese dann nicht als Liste mit Images verwaltet, sondern als TObject.
|
AW: Image in Obejctlist laden
du meinst ImageList, habe ich schon versucht, die Grafik verzieht da mega und die werden als icon ausgegen. die bilder sind dann zu klein die haben ein Standart von 81 zu 81.
Aber wenn du weißt wie es geht ich lasse mich gerne belehren. Dafür frage ich hier ja auch :thumb: |
AW: Image in Obejctlist laden
man kann dort einstellen, wie groß die Images sein sollen.
Ich dachte aber eher an eine List mit Images oder noch einfacher einem (dynamischen) Array. |
AW: Image in Obejctlist laden
Delphi-Quellcode:
habe ich schon versucht das Problem ist ich kann das anders besser gebrauchen.
function picload: Tpicarray;
var counter: integer; i,j,t: integer; begin SetLength(result,9); for counter := Low(result) to high(Result) do begin Result[counter] := TPicture.Create; Result[counter].LoadFromFile('Symbolik_' + inttoStr(counter) + '.jpg'); end; aus irgend einen grund funktioniert das mit dem Allrounder nicht der meint zu mir [Fehler] Unit1.pas(303): Der linken Seite kann nichts zugewiesen werden [Fehler] Unit1.pas(303): Inkompatible Typen: 'Class reference' und 'TImage' |
AW: Image in Obejctlist laden
Könntest du mir bitte sagen wir ich TImage1-27 in ein Array bekomme
weil, Variablen usw ist mir klar und ich weiß auch wie ich ein Image Array erzeuge. Aber die Objekte an sich in ein Array zu packen ist mir in Delphi fremd |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz